通常来讲,用C#程序读写一个文件需要以下5个步骤。
- 创建文件流。
- 创建阅读器或写入器。
- 执行读写操作。
- 关闭阅读器或写入器。
- 关闭文件流。
在进行文件操作时候,需要在类中引用 System.IO命名空间。
创建文件流:
流是一个用于数据传输的对象,这里使用的文件流失FileStream类。
FileStream 文件对象 = new FileStream (string FilePath , FileMode );
FilePath用于指定要操作的文件,FileMode指定打开文件的模式,它是一个枚举类型。
该枚举的不同成员如下:
Create::用指定的名称新建一个文件。如果文件存在,则改写旧文件。
CreateNew:新建一个文件,如果文件存在会发生异常,提示文件已存在。
Open:打开一个文件,使用这个枚举时,指定的文件必须存在,否则会发生异常。
OpenOrCreate:与上一条类似,只是如果文件不存在,则用指定的名称新建一个文件并打开它。
Append:打开现有文件,在末尾追加内容。
文件读写器:
StreamWriter类称为写入器,StreamReader类称为读取器。
创建文件流之后,要创建读取器或写入器。用于将数据写入文件流。
//创建写入器
StreamWriter mySw = New StreamWriter ( myFs );
mySw.Writer( content );
创建好写入器后,可以调用它的方法将要写入的内容写入文件流。
//创建读取器
StreamReader mySr = New StreamReader ( mySr, Encoding.Defualut);
//Encoding.Default用于获取操作系统的当前编码
Content = mySr.ReadToEnd();
当准备读取文件数据时,文件流的FileMode应该设置为FileMode.Open,而不是FileMode.Create。
注意:关闭写入器和读取器的方法是必须调用的。
文件和目录操作:
File类和Directory类属于静态类,在使用它们的时候都不需要实例化,而是直接使用类名.方法()的方式调用。
静态类只含有静态方法,不能使用New关键字创建静态类的实例。
由于静态方法在使用时都会进行安全检查,所以如果想要多次使用某个文件对象,可以考虑使用FileInfo和DirectoryInfo非静态类。