Stream 抽象类,Stream类支持对字节的读写操作,也包括了对异步操作的支持。 所有其它流的类都必须从Stream类中继承。 Stream类及其子类共同构成了一个数据源和数据存储的视图,从而封装了操作系统和底层存储的各个细节。 流包含的操作: 读操作(Reading)。 写操作(Writing)。 搜索操作(Seeking)。 由于数据视图的不同,一些流可能不同时支持以上的所有操作。比如网络流不支持搜索操作。Stream类提供了CanRead,CanWrite和CanSeek三种属性,来表示流是否支持这些操作。 BinaryReader和BinaryWriter BinaryReader和BinaryWriter这两个类提供了从字符串或原始数据到各种流之间的读写操作。 File和Directory FIle类支持对文件的基本操作,包括创建、拷贝、移动、删除和打开一个文件。 Directory类则用于执行常见的各种目录操作,如创建、移动、浏览目录以及子目录。 FIle类和Directory类都是密封类。不像抽象类Stream,FIle类和Directory类可以被实例化,但它们不能被其他类继承。 FIle类和Directory类的基类都是抽象类FileSystemEntry。 FileStream File类的静态方法主要用于创建FileStream类。一个FileStream类的实例实际上代表一个磁盘文件。默认对文件的打开方式是同步的,但同样很好地支持异步操作。 TextReader和TextWriter TeaxReader和TextWriter都是抽象类。和Stream类的字节形式的输入输出不同,他们用于Unicode字符的输入输出。 StringReader和StringWriter StringReader和StringWriter在字符串中读写字符。 StreamReader和StreamWriter StreamReader和StreamWriter在流中读写字符 BufferedStream BufferedStream是为诸如网络流的其它流添加缓冲的一种类型。 其实,FileStream流自身内部含有缓冲,而MemoryStream流则不需要缓存。 一个BufferedStream类的实例可以由多个其它类型的流复合而成,以达到提高性能的目的。缓冲实际上是内存中的一个字节块,利用缓冲可以避免操作系统频繁的到磁盘上读取数据,从而减轻操作系统的负担。 MemoryStream MemoryStream是一个无缓冲的流,它所封装的数据直接放在内存中,因此可以用于快速临时存储、进程间传递信息等。 NetworkStream NetworkStream表示在互联网上传递的流。 |
|