文件操作
通常来讲,用C#程序读写一个文件需要一下5个基本步骤.
(1)创建文件流
创建文件流语法:
FileStream 文件流对象= new FileStream(string filePath,FilePath fileMode)
其中filePath用于指定要操作的文件,而fileMove指定打开文件的模式,它是一个枚举类型(FileMode)。该枚举常用成员如下:
Create:用指定的名称新建一个文件。如果文件存在,改写旧文件
CreateNew:新建一个文件。如果文件存在会发生异常,提示文件已经存在。
Open:打开一个文件。使用这个枚举值时,指定的文件必须存在,否则会发生异常。
OpenOrCreate:OpenOrCreate与Open成员相似,只是如果文件不存在,则用指定的名称新建一个文件并打开它。
Append:打开现有文件,并在文件末尾追加内容
(2)创建阅读器或写入器
1.StreamWriter写入器
语法如下:
StreamWriter mySw = new StreamWriter(myfs);
创建好写入器后,可以调用它的方法将要写入的内容写入文件流,其中的主要方法如下:
StreamWriter.Write():用于写入流,这个流就是我们创建好的流。
StreamWriter.WriteLine():用于写入一行数据,写入某些数据后跟换行符
StreamWriter.Close():用于关闭写入器。
2.创建读取器
StreamReader mySr = new StreamReader(myfs,Encoding.Default);
StreamReader主要用于读取流中的数量,它主要包含以下几种方法。
StreamReader.ReadLine():读取文件流中的一行数据,并返回字符串.
StreamReader.ReadToEnd():从当前位置读到末尾,返回字符串。
StreamReader.Close():用于关闭读取器。
(3)执行读写操作
(4)关闭阅读器或写入器
StreamReader.Close():用于关闭读取器。
StreamWriter.Close():用于关闭写入器。
(5)关闭文件流
File类和FileInfo类
File类的常用方法
返回值类型 | 方法名称 | 说明 |
---|---|---|
bool | Exists(string path) | 用于检查指定文件是否存在 |
void | Copy(string sourceFilePath,string destinationFilePath) | 将指定路径的源文件中的内容复制到目标文件中,如果目标文件中不存在,在指定路径中新建一个文件 |
void | Move(string sourceFileName,string destFileName) | 将指定文件移到一个新的路径 |
void | Delete(string path) | 删除指定文件,如果指定的文件不存在,不引发异常 |
Directory类的常用方法
返回值类型 | 方法名称 | 说明 |
---|---|---|
Bool | Exists(string path) | 用于检查指定文件在磁盘上是否存在 |
Void | Move(string sourceDirName,string destDirName) | 用于讲文件或目录及其内容移到新位置 |
Void | Delete(string path,bool recursive) | 删除指定目录,如果recursive值为true,删除子目录中的所有目录内容 |
FileInfo类的属性和方法
属性 | 说明 |
---|---|
Exists | 用于检查指定文件是否存在,返回一个布尔值 |
Extension | 获取表示文件扩展名部分的字符串 |
Name | 获取文件名 |
FullName | 获取目录或文件的完整目录 |
返回值类型 | 方法 | 说明 |
---|---|---|
FileInfo | CopyTo(string) | 将现有的文件复制到新文件,不允许覆盖现有文件 |
Void | Delede() | 永久删除文件 |
Void | MoveTo(string) | 将指定文件移到新位置(string) |
MyFile类的属性
属性 | 类型 | 说明 |
---|---|---|
FileLength | float | 文件长度,以KB为单位 |
FileName | string | 文件名 |
FilePath | string | 文件路径 |
FileType | string | 文件类型 |