FileStream mikecatstream;
mikecatstream = File.Create("c:\\mikecat.txt");
//本段代码的含义:
//利用类File的Create()方法在C:根目录下创建文件mikecat.txt,并把文件流赋给mikecatstream
|
FileStream
mikecatstream;
mikecatstream = File.Open("c:\\mikecat.txt", FileMode.OpenOrCreate, FileAccess.Write);
//本段代码的含义:
//利用类File的Open()方法打开在C:根目录下的文件mikecat.txt,打开的模式为打开或创建,对文件的访问形式为只写,并把文件流赋给mikecatstream。
|
FileStream
mikecatstream;
mikecatstream = new FileStream("c:\\mikecat.txt", FileMode.OpenOrCreate, FileAccess.Write);
//本段代码的含义:
//利用类FileStream的构造函数打开在C:根目录下的文件mikecat.txt,打开的模式为打开或创建,对文件的访问形式为只写,并把文件流赋给mikecatstream。
|
名称
|
说明
|
FileStream(string FilePath, FileMode)
|
使用指定的路径和创建模式初始化 FileStream 类的新实例。
|
FileStream(string FilePath, FileMode, FileAccess)
|
使用指定的路径、创建模式和读/写权限初始化 FileStream 类的新实例。
|
FileStream(string FilePath, FileMode, FileAccess, FileShare)
|
使用指定的路径、创建模式、读/写权限和共享权限创建 FileStream 类的新实例。
|
名称
|
取值
|
说明
|
FileMode
|
Append
、Create、CreateNew、Open、OpenOrCreate和Truncate
|
指定操作系统打开文件的方式。
|
FileAccess
|
Read
、ReadWrite和Write
|
定义用于控制对文件的读访问、写访问或读/写访问的常数。
|
FileShare
|
Inheritable
、None、Read、ReadWrite和Write
|
包含用于控制其他 FileStream 对象对同一文件可以具有的访问类型的常数。
|
FileStream
fstream = new FileStream("Test.cs", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
//本段代码的含义:
//利用类FileStream的构造函数打开当前目录下的文件Test.cs,打开的模式为打开或创建,对文/的访问形式为读写,共享模式为拒绝共享,并把文件流赋给fstream。
|
FileStream
s2 = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.Read);
//本段代码的含义:
//利用类FileStream的构造函数打开当前目录下的文件名为字符串name的文件,打开的模式为打开,对文件的访问形式为只读,共享模式为读共享,并把文件流赋给s2。
|
成员名称
|
说明
|
Append
|
打开现有文件并查找到文件尾,或创建新文件。FileMode.Append 只能同 FileAccess.Write 一起使用。任何读尝试都将失败并引发 <ArgumentException>。
|
Create
|
指定操作系统应创建新文件。如果文件已存在,它将被改写。这要求 <FileIOPermissionAccess.Write>。System.IO.FileMode.Create 等效于这样的请求:如果文件不存在,则使用 <CreateNew>;否则使用 <Truncate>。
|
CreateNew
|
指定操作系统应创建新文件。此操作需要 FileIOPermissionAccess.Write。如果文件已存在,则将引发 IOException。
|
Open
|
指定操作系统应打开现有文件。打开文件的能力取决于 FileAccess 所指定的值。如果该文件不存在,则引发 System.IO.FileNotFoundException。
|
OpenOrCreate
|
指定操作系统应打开文件(如果文件存在);否则,应创建新文件。如果用 FileAccess.Read 打开文件,则需要 <FileIOPermissionAccess.Read>。如果文件访问为 FileAccess.Write 或 FileAccess.ReadWrite,则需要 FileIOPermissionAccess.Write。如果文件访问为 FileAccess.Append,则需要 <FileIOPermissionAccess.Append>。
|
Truncate
|
指定操作系统应打开现有文件。文件一旦打开,就将被截断为零字节大小。此操作需要 FileIOPermissionAccess.Write。试图从使用 Truncate 打开的文件中进行读取将导致异常。
|
成员名称
|
说明
|
Read
|
对文件的读访问。可从文件中读取数据。同 Write 组合即构成读写访问权。
|
ReadWrite
|
对文件的读访问和写访问。可从文件读取数据和将数据写入文件。
|
Write
|
文件的写访问。可将数据写入文件。同 Read 组合即构成读/写访问权。
|
成员名称
|
说明
|
Delete
|
允许随后删除文件。
|
Inheritable
|
使文件句柄可由子进程继承。Win32 不直接支持此功能。
|
None
|
谢绝共享当前文件。文件关闭前,打开该文件的任何请求(由此进程或另一进程发出的请求)都将失败。
|
Read
|
允许随后打开文件读取。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取的请求(由此进程或另一进程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
|
ReadWrite
|
允许随后打开文件读取或写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取或写入的请求(由此进程或另一进程发出)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
|
Write
|
允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
|
对于
FileMode
,如果要求的模式与文件的现有状态不一致,就会抛出一个异常。如果文件不存在,
Append
、
Open
和
Truncate
会抛出一个异常,如果文件存在,
CreateNew
会抛出一个异常。
Create
和
OpenOrCreate
可以处理这两种情况,但
Create
会删除现有的文件,创建一个新的空文件。
FileAccess
和
FileShare
枚举是按位标志,所以这些值可以与
C#
的按位
OR
运算符
|
合并使用。
|
本文出自 “熊猫写程序” 博客,转载请与作者联系!