FileMode、FileAccess、FileShare 应用

作者:vkvi 来源:ITPOW(原创) 日期:2011-10-26

.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。

相关文章