1. 读写文件的步骤:
创建一个文件流 -- 创建相应的读写器 -- 执行读写操作 -- 关闭读写器 -- 关闭文件流
创建一个文件流: FileStream objfs = new FileStream(文件的路径 , 文件打开模式);
文件的打开模式: FileMode 是一个枚举值,此处略去
创建文件的同事也可以设置权限
创建读写器: StreamReader objsr = new StreamReader(objfs, Encoding.UTF8);
StreamWriter objsw = new StreamWriter(objfs, Encoding.UTF8);
Enoding 是为了解决乱码问题
读写操作: 读: objsr.ReadToEnd();
写:objsw.Write(content);
关闭读写器: objsr.Close();
objsw.Close();
关闭文件流: objfs.Close();
2. File类
提供操作文件的各种方法。
方法
说明
bool Exists(string path)
用于检查指定文件是否存在,该方法返回一个布尔值
void Copy(string
sourceFileName,
string destFileName)
将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件
void Move (string
sourceFileName,
string destFileName)
将指定文件移动到一个新的路径
void Delete(string path)
删除指定的文件,如果指定的文件不存在,则不引发异常
3. Directory 类提供对文件夹的移动、删除等操作
方法
说明
bool Exists(string path)
用于检查指定文件夹在磁盘上是否存在
void Move(string
sourceDirName,
string destDirName)
用于将文件或目录及其内容移到新位置
void Delete(string path,
bool recursive)
删除指定目录,如果bool指定true,则删除子目录中的所有目录内容
void Delete(string path)
从指定路径删除空目录
3. FileInfo类
由于File类的静态方法在使用时都会进行安全检查,所以如果想要多次使用某个文件对象,可以考虑使用FileInfo类相应的实例方法,因为并不总是需要安全检查
属性/方法
说明
Exists
用于检查指定文件是否存在,返回一个布尔值
Extension
获取表示文件扩展名部分的字符串
Name
获取文件名
FullName
获取目录或文件的完整目录
FileInfo CopyTo(string)
将现有文件复制到新文件,不允许覆盖现有文件
void Delete()
永久删除文件
void MoveTo(string)
将指定文件移到新位置
4. DirectoryInfo类
如果打算多次重用某个目录对象,可以考虑使用DirectoryInfo类的实例方法
方法
说明
DirectoryInfo[ ] GetDirectories()
返回当前目录的子目录对象数组
FileInfo[ ] GetFiles()
返回当前目录下文件列表(FileInfo对象数组)
备注:文件(file)与流(stream)
文件,是在各种媒介上永久存储的数据的有序集合,它是一种进行数据读写操作的基本对象。
流,从概念上讲,非常类似于单独的磁盘文件,它也是进行数据读取操作的基本对象,流为我们提供了连续的字节流存储空间。
File类,是一个静态类,主要是来提供一些函数库用的。
静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。