.NET流数据操作笔记
在.net基类中,大多数用于处理输入/输出的类都能在System.IO命名空间中找到。
1、流的类层次结构
2、操作流的工具
下面这些类表示基于数据流的服务。它们都继承自Stream类。
- System.Net.Security.AuthenticatedStream。该类的派生类实现了基于验证和加密的流安全协议。
- System.Security.Cryptography.CryptoStream。该类允许对数据流进行加密。使用该服务的流不支持随机访问。
- System.IO.BufferedStream。该类与另一数据流结合使用,以便为后者在内存中提供缓冲特性。某些情况下使用BufferedStream能带来性能的提高。
- System.IO.MemoryStream和System.IO.UnmanageMemoryStream。这两个类用于获取能在多个数据流中共享的内存缓冲。非托管版本能够避免对CLR Heap的复制因而效率更高。
- System.IO.Compression.DeflateStream和System.IO.compression.GZipStream。这两个类用于压缩/解压缩数据流。
3、流数据的类型化
以下是用于数据流输入和输出字节的类型化的类。
- System.IO.BinaryWriter和System.IO.BinaryReader。这两个类用于读写数据流中类型为.NET基本类型的数据。提供了short ReadInt16()、void Write(short)、double ReadDouble()和void Write(double)等方法。
- System.IO.TextWriter和System.IO.TextReader。这两个是抽象类。它们用作那些用于读写以某种格式编码的字符的类的基类。
- System.IO.StringWriter和System.IO.StringReader。这两个类分别继承自TextWriter和TextReader。它们分别用于向字符串写入字符或字符串以及从字符串读取字符或字符串。
- System.IO.StreamWriter和System.IO.StreamReader。这两个类分别继承自TextWriter和TextReader。它们分别用于以特定格式向任何类型的数据流写入字符或字符串,以及从数据流读取字符或字符串。