FileMode 枚举

定义

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

C#
public enum FileMode
C#
[System.Serializable]
public enum FileMode
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum FileMode
继承
FileMode
属性

字段

名称 说明
Append 6

若存在文件,则打开该文件并查找到文件尾,或者创建一个新文件。 这需要 Append 权限。 FileMode.Append 只能与 FileAccess.Write 一起使用。 试图查找文件尾之前的位置时会引发 IOException 异常,并且任何试图读取的操作都会失败并引发 NotSupportedException 异常。

Create 2

指定操作系统应创建新文件。 如果此文件已存在,则会将其覆盖。 这需要 Write 权限。 FileMode.Create 等效于这样的请求:如果文件不存在,则使用 CreateNew;否则使用 Truncate。 如果该文件已存在但为隐藏文件,则将引发 UnauthorizedAccessException异常。

CreateNew 1

指定操作系统应创建新文件。 这需要 Write 权限。 如果文件已存在,则将引发 IOException异常。

Open 3

指定操作系统应打开现有文件。 打开文件的能力取决于 FileAccess 枚举所指定的值。 如果文件不存在,引发一个 FileNotFoundException 异常。

OpenOrCreate 4

指定操作系统应打开文件(如果文件存在);否则,应创建新文件。 如果用 FileAccess.Read 打开文件,则需要 Read权限。 如果文件访问为 FileAccess.Write,则需要 Write权限。 如果用 FileAccess.ReadWrite 打开文件,则同时需要 ReadWrite权限。

Truncate 5

指定操作系统应打开现有文件。 该文件被打开时,将被截断为零字节大小。 这需要 Write 权限。 尝试从使用 FileMode.Truncate 打开的文件中进行读取将导致 ArgumentException 异常。

示例

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

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

注解

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

FileMode在 、 IsolatedStorageFileStream和 的多个构造函数FileStreamOpenFileFileInfo指定参数,用于控制文件的打开方式。

FileMode 参数控制是覆盖、创建、打开文件还是某种组合。 使用 Open 打开现有文件。 若要追加到文件,请使用 Append。 若要截断文件或创建文件(如果不存在),请使用 Create

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另请参阅