首页 > 代码库 > 文件操作

文件操作

 

       1.读写文件第一步创建文件流

      语法:

             FileStream 文件对象=new FileStream(string FilePath, FileMode);

             FilePath:      文件路径  

              FileMode:       打开文件的模式,是一个枚举类型

             Create:  用于指定的名称新建一个文件,如果文件存在,则改写旧文件

             CreateNew:  新建文件。如果文件存在会发生异常,提示文件已经存在

             Open:          打开一个文件,使用这个枚举值时,指定的文件不存在,则指定的名称新建一个文件并打开

             OpenOrCream:    OpenOrCream与Open成员相似,只是如果文件不存在,则用指定的名称新建一个文件打开

             Append:       打开文件,并在文件尾追加内容

       2.StreamWriter写入器

             创建文件流后,再创建写入器,StreamWriter 类称为写入器,它用于将数据写入文件流,只要将创建好的文件流传入,就可以创建它的实例

      语法:

             StreamWriter 写入器对象=new StreamWriter(文件流对象);

             StreamWriter.Writer():          用于写入器,

             StreamWriter.WriterLine():    用于写入一行数据,写入数据后换行。

             StreamWriter.Close():           用于关闭写入器

-------------------------示例代码-------------------------

          try

            {

                //创建文件流

                FileStream stream = new FileStream(@"D:\test.txt", FileMode.Create);

                //创建写入器

                StreamWriter writer = new StreamWriter(stream);

                //写入字符串

                string str = Console.ReadLine();

                writer.Write(str);

                //关闭写入器

                writer.Close();

                //关闭文件流

                stream.Close();

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }    

-------------------------------------------------------------------------

       2.StreamReader读取器

             创建文件流后,再创建读取器,StreamReader 类称为读取器,它用于将数据写入文件流,只要将创建好的文件流传入,就可以创建它的实例

      语法:

             StreamReader 读取器对象 = new StreamWriter(文件流对象);

             StreamWriter.ReadLine():      用于写入一行数据,写入数据后换行。

             StreamWriter.ReadLine():      从当前位置读到末尾,返回字符串

             StreamWriter.Close():    用于关闭读取器

 try

            {

                //创建文件流

                FileStream stream = new FileStream(@"D:\test.txt", FileMode.Open);

                //创建读取器

                StreamReader reader = new StreamReader(stream,Encoding.GetEncoding("UTF-8"));

                //读取文件所有内容

                string str = reader.ReadToEnd();

                Console.WriteLine(str);

                //关闭读取器

                reader.Close();

                //关闭文件流

                stream.Close();

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

----------------------------------------------------------------------

文件(File)和目录(Directory)的操作

       1.File类的常用方法

              (1)Exists(string path):检查指定文件是否存在,返回一个bool值例

              if (File.Exists(@"D:\test.txt"))

                {

                    Console.WriteLine("找到文件!");

                }

              (2)Copy(string SourceFilePath,string DestinationFilePath):将指定的源文件(ourceFilePath)中的内容复制到目标文件(DestinationFilePath)中,如果目标文件不存在,则在指定的路径中新建一个文件

              (3)Move(string SourceFileName,string DestinationFileName): 将指定的文件(ourceFilePath)移动到新的路径(将指定的源文件(ourceFilePath)例: File.Copy(@"D:\test.txt", @"E:\test.txt");

              (4)Delete(string path):删除指定文件,如果指定文件不存在,则不发生异常 File.Delete(@"D:\test.txt");

       2.Directory类的常用的方法

              (1)Exists(string path):                           用于检查指定文件夹在磁盘上是否存在

              (2)Move(string sourceDirName,stirng destDirName):    用于将文件或者目录及其内容移到新的位置

              (3)delete(string,bool):                           删除指定目录,如果bool值为true,则删除子目录的所有目录内容

       3.FileInfo类的属性和方法

              FileInfo 对象名=new FileInfo(@"文件路径");

              (1)Exists属性:           用于检查指定文件是否存在,返回一个bool值 例:FileInfo类的对象.Exists

              (2)Extension属性:      获取表示文件扩展名部分的字符串(后缀名) 例:FileInfo类的对象.Extension

              (3)Name属性:           获取文件名 例:FileInfo类的对象.Name

              (4)FullName属性:      获取目录或文件的完整目录      例:FileInfo类的对象.FullName

              (5)CopyTo(String): 将现有的文件复制到新文件,不允许覆盖现有的文件 例:FileInfo类的对象.CopyTo(String)

              (6)Delete():           永久删除文件                   例: FileInfo类的对象.Delete()

              (7)MoveTo(string): 将指定文件移到新的位置(string)  例: FileInfo类的对象.MoveTo(string)

       4.DirectoryInfo类的属性和方法

              DirectoryInfo 对象名=new  DirectoryInfo(@"文件路径");

              两个重要的方法

                     (1)GetDirectory():该方法返回当前目录的子目录对象数组,Directory也有这个方法,但返回值是当前目录子目录的名称数组

                     (2)GetFiles():该方法返回当前目录下文件列表(FileInfo对象数组),Directory也有这个方法,但返回值是指定目录子目录的名称数组

       5.要注意的是 File类和Directory类都用静态方法操作文件和目录,而FileInfo类和DirectoryInfo类都要实例化

MyFile类的属性

       (1)float类型FileLength属性: 文件长度,以KB为单位

       (2)string类型FileName 属性:文件名

       (3)string类型FilePath 属性:文件路径

文件操作