C#文件操作之FileMode

FileMode 枚举

.NET Framework 4.6 and 4.5
其他版本

指定操作系统打开文件的方式。

命名空间:   System.IO
程序集:   mscorlib(在 mscorlib.dll 中)
  System.IO.FileSystem.Primitives(在 System.IO.FileSystem.Primitives.dll 中)

语法

C#
C++
F#
VB
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum FileMode

Members

  成员名称 描述
Append 若存在文件,则打开该文件并查找到文件尾,或者创建一个新文件。 这需要FileIOPermissionAccess.Append 权限。 FileMode.Append 只能与FileAccess.Write 一起使用。 试图查找文件尾之前的位置时会引发IOException 异常,并且任何试图读取的操作都会失败并引发NotSupportedException 异常。
Create 指定操作系统应创建新文件。 如果文件已存在,它将被覆盖。 这需要FileIOPermissionAccess.Write 权限。 FileMode.Create 等效于这样的请求:如果文件不存在,则使用 CreateNew;否则使用 Truncate 如果该文件已存在但为隐藏文件,则将引发 UnauthorizedAccessException异常。
CreateNew 指定操作系统应创建新文件。 这需要 FileIOPermissionAccess.Write 权限。 如果文件已存在,则将引发 IOException异常。
Open 指定操作系统应打开现有文件。 打开文件的能力取决于 FileAccess 枚举所指定的值。 如果文件不存在,引发一个 System.IO.FileNotFoundException 异常。
OpenOrCreate 指定操作系统应打开文件(如果文件存在);否则,应创建新文件。 如果用FileAccess.Read 打开文件,则需要 FileIOPermissionAccess.Read权限。 如果文件访问为 FileAccess.Write,则需要 FileIOPermissionAccess.Write权限。 如果用 FileAccess.ReadWrite 打开文件,则同时需要FileIOPermissionAccess.Read 和 FileIOPermissionAccess.Write权限。
Truncate 指定操作系统应打开现有文件。 该文件被打开时,将被截断为零字节大小。 这需要 FileIOPermissionAccess.Write 权限。 尝试从使用 FileMode.Truncate打开的文件中进行读取将导致 ArgumentException 异常。

备注

有关创建文件和向文件中写入文本的示例,请参见 如何:向文件写入文本 有关从文件中读取文本的示例,请参见 如何:从文件读取文本 有关读取和写入二进制文件的示例,请参见 如何:对新建的数据文件进行读取和写入

FileMode 参数在 FileStream 和 IsolatedStorageFileStream 的许多构造函数中,以及在 File 和 FileInfo 的 Open方法中指定,用以控制打开文件的方式。

FileMode 参数控制是否对文件执行覆盖、创建、打开等操作,或执行这些操作的组合。 使用 Open 打开现有文件。若要追加到文件,请使用 Append 若要截断文件或创建不存在的文件,请使用 Create

示例

下面的 FileStream 构造函数打开现有文件 (FileMode.Open)。

C#
C++
VB
FileStream s2 = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.Read);


版本信息

.NET Framework

受以下版本支持:4.6、4.5、4、3.5、3.0、2.0、1.1

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

适用于 Windows Phone 应用的 .NET

受以下版本支持:Windows Phone 8.1、Windows Phone Silverlight 8

平台

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并非支持每个平台的所有版本。有关支持的版本的列表,请参阅  .NET Framework 系统要求。

请参阅

参考

System.IO 命名空间
File .Open
FileInfo .Open
FileStream
IsolatedStorageFileStream

其他资源

文件和流 I/O
如何:从文件读取文本
如何:向文件写入文本
如何:对新建的数据文件进行读取和写入

你可能感兴趣的:(C#,FileMode)