通过多方查阅资料,作为一个新手,这是我整理的C#的部分知识
类似于c++一样,我们可以借助在System.IO 命名空间中的 FileStream 类实现文件的读写与关闭。该类派生自抽象类 Stream。
首先我们需要创建一个 FileStream 对象来帮助实现创建一个新的文件,或打开一个已有的文件。具体创建 FileStream 对象的语法如下:
例如,创建一个 FileStream 对象 F 来读取名为 sample.txt 的文件:
具体语法:
FileMode 枚举定义了各种打开文件的方法。FileMode 枚举的成员有:
- Append:打开一个已有的文件,并将光标放置在文件的末尾。如果文件不存在,则创建文件。
- Create:创建一个新的文件。如果文件已存在,则删除旧文件,然后创建新文件。
- CreateNew:指定操作系统应创建一个新的文件。如果文件已存在,则抛出异常。
- Open:打开一个已有的文件。如果文件不存在,则抛出异常。
- OpenOrCreate:指定操作系统应打开一个已有的文件。如果文件不存在,则用指定的名称创建一个新的文件打开。
- Truncate:打开一个已有的文件,文件一旦打开,就将被截断为零字节大小。然后我们可以向文件写入全新的数据,但是保留文件的初始 创建日期。如果文件不存在,则抛出异常。
- FileAccess 枚举的成员有:Read、ReadWrite 和 write:
-
- Read:允许随后打开文件读取。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取的请求(由此进程或另一进程发出的请求)都将失 败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
- ReadWrite:允许随后打开文件读取或写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取或写入的请求(由此进程或另一进程发 出)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
- Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失 败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
-
FileShare 枚举的成员有:
- Inheritable:允许文件句柄可由子进程继承。Win32 不直接支持此功能。
- None:谢绝共享当前文件。文件关闭前,打开该文件的任何请求(由此进程或另一进程发出的请求)都将失败。
-