文件是存储在具有特定名称和目录路径的磁盘中的数据集合.当打开文件进行读取或写入时,它变为流.
流基本上是通过通信路径的字节序列.有两个主要流:输入流和输出流. 输入流用于从文件读取数据(读取操作),输出流用于写入文件(写入操作).
C#I/O类
System.IO命名空间有各种类,用于对文件执行大量操作,例如创建和删除文件,读取或写入到文件,关闭文件等.
下表显示了System.IO命名空间中的一些常用的非抽象类 :
Sr.No. | I/O Class&说明 |
---|---|
1 | BinaryReader 从二进制流中读取原始数据. |
2 | BinaryWriter 以二进制格式写入原始数据. |
3 | BufferedStream 字节流的临时存储. |
4 | Directory 帮助操纵目录结构. |
5 | DirectoryInfo 用于对目录执行操作. |
6 | DriveInfo 提供驱动器的信息. |
7 | File 帮助操作文件. |
8 | FileInfo 用于对文件执行操作. |
9 | FileStream 用于读取和写入文件中的任何位置. |
10 | MemoryStream 用于随机访问存储在内存中的流数据. |
11 | Path 在路径上执行操作信息. |
12 | StreamReader 用于从字节流中读取字符. |
13 | StreamWriter 是用于将字符写入流. |
14 | StringReader 用于从a读取字符串缓冲区. |
15 | StringWriter 用于写入字符串缓冲区. |
FileStream类
System.IO命名空间中的 FileStream 类有助于读取,写入和关闭文件.此类派生自抽象类Stream.
您需要创建 FileStream 对象来创建新文件或打开现有文件.创建 FileStream 对象的语法如下 :
FileStream= new FileStream( , , , );
例如,我们创建一个FileStream对象 F ,用于读取名为 sample.txt的文件,如图所示 :
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Sr.No. | 参数&说明 |
---|---|
1 | FileMode FileMode 枚举器定义了打开文件的各种方法. FileMode枚举器的成员是 :
|
2 | FileAccess FileAccess 枚举者有成员:阅读, ReadWrite 和写. |
3 | FileShare FileShare 枚举者拥有以下成员 :
|
示例
以下程序演示如何使用 FileStream 类 :
using System;using System.IO;namespace FileIOApplication { class Program { static void Main(string[] args) { FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); for (int i = 1; i <= 20; i++) { F.WriteByte((byte)i); } F.Position = 0; for (int i = 0; i <= 20; i++) { Console.Write(F.ReadByte() + " "); } F.Close(); Console.ReadKey(); } }}
编译并执行上述代码时,会产生以下结果 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
C#中的高级文件操作
前面的示例在C#中提供了简单的文件操作.但是,要利用C#System.IO类的强大功能,您需要知道这些类的常用属性和方法.
Sr.No. | 主题&说明 |
---|---|
1 | 读取和写入文本文件 它涉及读取和写入文本文件. StreamReader 和 StreamWriter 类有助于实现它. |
2 | 阅读和写作到二进制文件 它涉及读取和写入二进制文件. BinaryReader 和 BinaryWriter 类有助于实现此目的. |
3 | 操作Windows文件系统 它使C#程序员能够浏览和查找Windows文件和目录. |