文件打开方式

FileMode Enumeration 指定操作系统打开文件的方式。(命名空间:System.IO)

语法

[SerializableAttribute]

[ComVisibleAttribute(true)]

public enum FileMode

成员

成员名称 说明
CreateNew

指定操作系统创建新文件。

此操作需要FileIOPermissionAccess.Write。

如果文件已存在,则将引发IOException。

Create

指定操作系统应创建新文件。

如果文件已存在,它将被覆盖。

此操作需要FileIOPermissionAccess.Write。

该请求等效于:如果文件不存在,则使用CreateNew,否则使用Truncate。

如果文件已存在但为隐藏文件,则将引发UnauthorizedAccessException。

Open

指定操作系统打开现有文件。

打开文件的方式取决于FileAccess所指定的值。

如果文件不存在,引发FileNotFoundException.

OpenOrCreate

指定操作系统应该打开文件(如果文件存在),否则应创建新文件。

如果用FileAccess.Read,需要FileIOPermissionAccess.Read.

如果用FileAccess.Write,需要FileIOPermissionAccess.Write.

如果用FileAccess.ReadWrite,需要FileIOPermissionAccess.Read和FileIOPermissionAccess.Write.

如果用FileAccess.Append,则需要FileIOPermissionAccess.Append.(FileAccess未公开Append成员)

Truncate

指定操作系统打开现有文件。

文件一旦打开,就将被截断为0字节大小。

此操作需要FileIOPermissionAccess.Write。

尝试从使用Truncate打开的文件中进行读取将导致异常。

Append

若存在文件,则打开文件并查找到文件尾,或者创建一个新文件。

FileMode.Append只能与FileAccess.Write一起使用。

尝试查找文件尾之前的位置会引发IOException,并且任何尝试读取的操作都会失败并引发NotSupportedException.

示例

FileStream fs = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.Read);

原文地址:https://www.cnblogs.com/wanhuan/p/5589614.html