原文来源:《C#从入门到精通》
在软件开发过程中经常需要对文件及文件夹进行操作,例如读写、移动、复制、删除文件及创建、移动、删除、遍历文件夹等,C#中与文件、文件夹及文件读写有关的类都位于System.IO命名空间中。
System.IO命名空间
System.IO命名空间包含允许在数据流和文件上进行同步和异步读取及写入的类型。
这里需要注意文件和流的差异:
1、文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合,因此,关于文件,人们常会想到目录路径、磁盘存储、文件和目录名等方面。
2、相反,流提供一种向后备存储写入字节和从后备存储读取字节的方式。后备存储可以为多种存储媒介之一,正如除磁盘外存在多种后备存储一样,除文件流之外也存在多种流。例如:网络流、内存流和磁带流等。
System.IO命名空间中的类及说明:
序号 | 类 | 说明 |
1 | BinaryReader | 用特定的编码将基元数据类型读作二进制值 |
2 | BinaryWriter | 以二进制形式将基元类型写入流,并支持用特定的编码写入字符串 |
3 | BufferedStream | 给另一流上的读写操作添加一个缓冲层。无法继承该类。 |
4 | Directory | 公开用于创建、移动和枚举通过目录和子目录的静态方法。无法继承该类。 |
5 | DirectoryInfo | 公开用于创建、移动和枚举目录和子目录的静态方法。无法继承该类。 |
6 | DriveInfo | 提供对有关驱动器的信息的访问 |
7 | File | 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream对象 |
8 | FileInfo | 提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建FileStream对象。无法继承该类。 |
9 | FileStream | 公开以文件为主的Stream,即支持同步读写操作,也支持异步读写操作 |
10 | FileSystemInfo | 为FileInfo和DirectoryInfo对象提供基类 |
11 | FileSystemWatcher | 侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件 |
12 | MemoryStream | 创建其支持存储区为内存的流 |
13 | Path | 对包含文件或目录路径信息的String实例执行操作。这些操作是以跨平台的方式执行的 |
14 | StreamReader | 实现一个TextReader,使其以一特定的编码从字节流中读取字符 |
15 | StreamWriter | 实现一个TextWriter,使其以一种特定的编码从字节流中写入字符 |
16 | StringReader | 实现从字符串进行读取的TextReader |
17 | StringWriter | 实现一个用于将信息写入字符串的TextWriter。该信息存储在基础StringBuilder中 |
18 | TextReader | 表示可读取连续字符系列的读取器 |
19 | TextWriter | 表示可以编写一个有序字符序列的编写器。该类为抽象类。 |