System.IO命名空间包含用于在文件中读写数据的类,因此必须在Visual Basic.NET应用程序中引用此命名空间才能访问这些类。这些类包含创建,复制、移动和删除文件的属性、方法和事件,并且支持对文件中的数据类型进行处理。
System.10命名空间里的类按照功能可以分为三类:
- 用于处理字节流的类
- 对字节进行高级读写的类
- 处理文件和目录的类
用于处理字节流的类有:
类 | 说明 |
BufferedStream | 数据缓冲流 |
fileStream | 顺序文件流 |
MemoryStream | 内存数据流 |
Stream | 提供字节序列的一般视图 |
System.IO.Stream类是所有流的基类,它提供了将流表示成字节的功能,并支持对流的读取、写入和查找。读取是从流到数据结构的数据传输,写入是从数据结构到流的数据传输,查找是对流内的当前位置进行查找和修改。
FileStream.MemoryStream和BufferedStream类都是从Stream类派生而来的。
- FileStream类可以从顺序访问的文件中读、写数据。
- MemoryStream类可以完成数据进,出内存的转移,这种类型的转移比其他类型的数据转移(如从磁盘读写)要快得多。
- BufferedStream类使用缓冲从流中读,写数据。缓冲是一项提高输入腧出性能的技术,使用该技术,每个输出操作都直接将数据输出到内存中称为缓存的区域,该区域可以容纳很多输出操作的数据。每当缓存中充满数据时,将执行一个大数据量的物理输出操作,将数据输出到输出设备。输出到输出缓存的操作通常称为逻辑输出操作。
对字节进行高级读写的类提供了对流的一些高级控制。
类 | 说明 |
BinaryReader | 用特定的编码,以二进制形式从输入流中读取数据 |
BinaryWriter | 以二进制形式将数据写入到输出流,并支持用特定的编码写入字符串 |
SrteamReader | 从流中读取字符数据,可以使用FileStream类创建为基类 |
StreamWriter | 向流中写和字符数据,可以使用FileStream类创建为基类 |
StringReader | 实现从字符串进行读取的TextReader类 |
StringWriter | 实现一个用于将信息写入字符串的TextWriter类。该信息存储在基础StringBuilder类中 |
TextReader | 表示可读取连续字符系列的阅读器 |
TextWriter | 表示可以编写一个有序字符系列的编写器。该类为抽象类。 |
处理文件和目录的类有:
类 | 说明 |
Directory | 静态类,提供许多静态方法,用于移动、复制和删除目录 |
DirectoryInfo | 表示磁盘上的物理目录,具有处理某些目录的方法 |
DriveInfo | 提供对有关驱动器的信息的访问 |
File | 提供用于创建、复制、删除、移动和打开文件的静态,并协助创建FileStream对象 |
FileInfo | 表示磁盘上的物理文件,提供创建、复制、删除、移动和打开文件帮助创建FileStream对象 |
FileSystemInfo | FileInfo类和DriectoryInfo类的基类 |
Path | 用于处理路径名称 |
处理文件的枚举类型
枚举 | 说明 |
DriveType | 定义驱动器类型常数,包括CDRom、Fixed、Network、NoRootDirectory、Ram、Removable和Unkonwn |
FileAccess | 定义用于控制对文件的读访问、写访问蔌读/写访问的常数 |
FileAttributes | 提供文件和目录的属性 |
FileMode | 指定操作系统打开文件的方式 |
FileOpteions | 表示用于创建FileStream对象对同一文件可以具有的访问类型的常数 |
FileShare | 包含用于控制其他FileStream对象对同一文件可以具有的访问类型的常数 |
SearchOption | 指定是搜索当前目录,还是搜索当前目录及其所有子目录 |