C#文件操作之FileMode

C# 文件操作:FileMode 枚举详解
本文档详细介绍了C#中FileMode枚举的使用,用于指定操作系统打开文件的方式。内容包括FileMode的成员、创建或打开文件的示例、不同操作的解释,以及适用的.NET Framework版本和平台。

FileMode 枚举

.NET Framework 4.6 and 4.5

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

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum FileMode

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

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

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

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

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

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 系统要求
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值