FileMode枚举是一个简单枚举,用于指定操作系统打开文件的方式。

枚举成员    成员值        描述

CreateNew    1         指定操作系统应创建新文件,如果文件存在则引发异常。

Create      2         指定操作系统创建新文件,如果文件已存在则覆盖之。

OPen        3         指定 操作系统应打开现有文件,如果文件不存在则抛出异常。

OpenOrCreate  4         指定操作系统应打开文件,如果文件不存在则创建之。

Truncate      5         指定操作系统打开现有文件,如果文件已存在则清空,从Truncate打开的文件中读取将引发异常。

Append      6         若文件存在,则找到文件并找到文件结尾,或者创建一个新文件。

    // 摘要:
// 指定操作系统打开文件的方式。
[Serializable]
[ComVisible(true)]
public enum FileMode
{
// 摘要:
// 指定操作系统应创建新文件。此操作需要 System.Security.Permissions.FileIOPermissionAccess.Write。如果文件已存在,则将引发
// System.IO.IOException。
CreateNew = 1,
//
// 摘要:
// 指定操作系统应创建新文件。如果文件已存在,它将被覆盖。此操作需要 System.Security.Permissions.FileIOPermissionAccess.Write。System.IO.FileMode.Create
// 等效于这样的请求:如果文件不存在,则使用 System.IO.FileMode.CreateNew;否则使用 System.IO.FileMode.Truncate。如果该文件已存在但为隐藏文件,则将引发
// System.UnauthorizedAccessException。
Create = 2,
//
// 摘要:
// 指定操作系统应打开现有文件。打开文件的能力取决于 System.IO.FileAccess 所指定的值。如果该文件不存在,则引发 System.IO.FileNotFoundException。
Open = 3,
//
// 摘要:
// 指定操作系统应打开文件(如果文件存在);否则,应创建新文件。如果用 FileAccess.Read 打开文件,则需要 System.Security.Permissions.FileIOPermissionAccess.Read。如果文件访问为
// FileAccess.Write,则需要 System.Security.Permissions.FileIOPermissionAccess.Write。如果用
// FileAccess.ReadWrite 打开文件,则同时需要 System.Security.Permissions.FileIOPermissionAccess.Read
// 和 System.Security.Permissions.FileIOPermissionAccess.Write。如果文件访问为 FileAccess.Append,则需要
// System.Security.Permissions.FileIOPermissionAccess.Append。
OpenOrCreate = 4,
//
// 摘要:
// 指定操作系统应打开现有文件。文件一旦打开,就将被截断为零字节大小。此操作需要 System.Security.Permissions.FileIOPermissionAccess.Write。尝试从使用
// Truncate 打开的文件中进行读取将导致异常。
Truncate = 5,
//
// 摘要:
// 若存在文件,则打开该文件并查找到文件尾,或者创建一个新文件。FileMode.Append 只能与 FileAccess.Write 一起使用。尝试查找文件尾之前的位置时会引发
// System.IO.IOException,并且任何尝试读取的操作都会失败并引发 System.NotSupportedException。
Append = 6,
}

FileMode枚举的更多相关文章

  1. FileStream读写文件【StreamWriter 和 StreamReader】

    FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能.这是因为FileStream类 ...

  2. S2---深入.NET平台和C#编程的完美总结

    1.NET简单解说 l 面向对象提升 OOP(Object Oriented  Programming)面向对象编程 AOP:(Aspache  Oriented Programming):面向切面编 ...

  3. .NET对象与Windows句柄(一):句柄的基本概念

    在.NET编程中,得益于有效的内存管理机制,对象的创建和使用比较方便,大多数情况下我们无须关心对象创建和分配内存的细节,也可以放心的把对象的清理交给自动垃圾回收来完成.由于.NET类库对系统底层对象进 ...

  4. PB函数大全

    PB函数大全 Abs()功能计算绝对值.语法Abs ( n )参数n:要得到绝对值的数值型变量或表达式返回值返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值.如果参数n的值为NULL, ...

  5. c#FileStream文件读写(转)

    FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能.这是因为FileStream类 ...

  6. C# IO

    在.NET框架中进行的所有IO操作都要用到流(Stream). System.IO命名空间中包含许多IO相关的类,C#文件读写的类几乎都在其中,下面对其进行详细介绍. 主要类列表: 类 说明 Bina ...

  7. S2--《深入.NET平台和C#编程》

    第一章    深入.NET框架 1.1  Microsoft  .NET框架概述 .NET框架的优势 * 提供了一个面向对象的编程环境,完全支持面向对象编程,.NET 框架提高了软件的可复用性,可扩展 ...

  8. .net(C#)操作文件的几种方法汇总

    .net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...

  9. SPFile的使用

    转:http://blog.csdn.net/pclzr/article/details/7591741 SPFile对应于SharePoint对象模型中的文件,它的使用方法与SPFolder类大致相 ...

随机推荐

  1. C51 函数/程序段的定位

    在Keil C中可能需要指定某个函数或者某段程序链接后存放在程序区中的位置. 1. 如何指定某个函数在程序区中的位置. QUESTION How do I locate a C function at ...

  2. Android 获取当前日期算前一年、前一月、前一天Calendar

    使用Calendar的add(int field, int amount)方法 Calendar ca = Calendar.getInstance();//得到一个Calendar的实例 ca.se ...

  3. elasticsearh 中每个节点中需要有相同的插件

    elasticsearh 中每个节点中需要有相同的插件 [2016-09-13 19:25:24,049][INFO ][discovery.zen ] [node02] failed to send ...

  4. hmac_sha1 签名

    use URI::Escape qw(uri_unescape); use MIME::Base64; use Digest::HMAC_SHA1; $str=Digest::HMAC_SHA1::h ...

  5. 2013第50周二eclipse工具尝试

    今天更深入的认识了eclipse开发工具,出现了各种问题在网络的帮助下最终都解决了,感觉似乎明白了很多道理需要总结一下,现在发现晚了,那就先记录下我印象深的几个问题吧: 1.eclipse编辑器设置. ...

  6. Subsets II 解答

    Question Given a collection of integers that might contain duplicates, nums, return all possible sub ...

  7. nodejs 设置网络代理

    在使用nodejs的过程中,加入使用代理上网,那么安装组件会失败,此时配置代理即可,命令如下: [root@oracle ~]#npm config set proxy=http://10.101.1 ...

  8. Poj3484-Showstopper(二分脑洞题)

    Description Data-mining huge data sets can be a painful and long lasting process if we are not aware ...

  9. linux驱动面试题2

    1.什么是GPIO? general purpose input/output GPIO是相对于芯片本身而言的,如某个管脚是芯片的GPIO脚,则该脚可作为输入或输出高或低电平使用,当然某个脚具有复用的 ...

  10. Arm Linux系统调用流程详细解析

    Linux系统通过向内核发出系统调用(system call)实现了用户态进程和硬件设备之间的大部分接口. 系统调用是操作系统提供的服务,用户程序通过各种系统调用,来引用内核提供的各种服务,系统调用的 ...