.NET 中,FileStream 构造函数可以有四个参数:
String, FileMode, FileAccess, FileShare,第一个参数表示路径,后面三个有什么区别呢?
FileMode 是如何打开文件,比如如果文件不存在,是打开吗?文件已经存在是覆盖吗?
- CreateNew 创建新的。文件若存在,则异常。
- Create 创建新的。文件若存在,则覆盖。
- Open 打开文件。若文件不存在,则异常。
- OpenOrCreate 打开或文件。若文件不存在,则创建新的。
- Truncate 打开文件,并将内容置为零字节。
- Append 打开文件,在文件结尾追加内容。
FileAccess 是打开文件的能力,只读吗?只写吗?
- Read 只读打开。
- Write 只写打开。
- ReadWrite 读写打开。
FileShare 是如何与其他程序共同访问文件。
- None 不与其他程序共享读写。
- Read 允许其他程序读。
- Write 允许其他程序写。
- ReadWrite 允许其他程序读写。
- Delete 允许随后删除文件。
在读取某些文件时,可能无法打开,出现程序被占用的情况,此时就用 FileShare.ReadWrite。