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. Keil C51 知识点

    第一节 Keil C51扩展关键字     深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一.因为大多数扩展功能都是直接针对8051系列CPU硬件的.大致有以下8类: 8051存储类型 ...

  2. hihoCoder 1041 国庆出游 (DFS)

    题意: 小Hi和小Ho准备国庆期间去A国旅游.A国的城际交通比较有特色:它共有n座城市(编号1-n):城市之间恰好有n-1条公路相连,形成一个树形公路网.小Hi计划从A国首都(1号城市)出发,自驾遍历 ...

  3. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅶ(延伸:堆排序的实现)

    2.4.5 堆排序 我们可以把任意优先队列变成一种排序方法.将所有元素插入一个查找最小元素的有限队列,然后再重复调用删除最小元素的操作来将他们按顺序删去.用无序数组实现的优先队列这么做相当于进行一次插 ...

  4. OS error set

    Failed to resolve/decode supposed IPv4 source addres Failed to resolve/decode supposed IPv4 source a ...

  5. 图的最小生成树(Prim、Kruskal)

    理论: Prim: 基本思想:假设G=(V,E)是连通的,TE是G上最小生成树中边的集合.算法从U={u0}(u0∈V).TE={}开始.重复执行下列操作: 在所有u∈U,v∈V-U的边(u,v)∈E ...

  6. Ruby新手教程和技巧

      Ruby真的比Java更好? Ruby On Rails 创始人:对Java 说再见 这两周以来环绕Java发生的两件大事:EclipseCon 和TheServerSide Java Sympo ...

  7. .NET(C#):分析IL中的if-else,while和for语句并用Emit实现

    这是一篇关于IL和反射Emit的文章(所以不喜欢IL或者Emit的就没必要往下看了),要求读者对IL和Emit工作原理较了解.所有分析IL均在Visual Studio 2010 SP1下编译生成.( ...

  8. [Git] set-upstream

    When you want to push your local branch to remote branch, for the first push: git push --set-upstrea ...

  9. NET基础课--Linq第一讲

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前,在声明一个变量的时候, 总是要为一个变量指定他的类型甚至在foreach一 ...

  10. Funsion Charts 学习(一)

    学习官网: http://www.fusioncharts.com/explore/line-area-charts/ 参数: numvdivlines      number     垂直线显示vd ...