C# - Stream
本文关键字:Stream | 更新日期: 2023-09-12 17:39:59
C# 包括以下标准 IO(输入/输出)类,用于从文件、内存、网络、独立存储等不同源读取/写入。
Stream:System.IO.Stream是一个抽象类,它提供将字节(读取,写入等)传输到源的标准方法。它就像一个包装类来传输字节。需要从特定源读取/写入字节的类必须实现 Stream 类。
以下类继承 Stream 类以提供从特定源读取/写入字节的功能:
FileStream 从物理文件读取或写入字节,无论它是 .txt、.exe、.jpg 还是任何其他文件。FileStream 派生自 Stream 类。
MemoryStream:MemoryStream读取或写入存储在内存中的字节。
BufferedStream:BufferedStream从其他流读取或写入字节,以提高某些 I/O 操作的性能。
NetworkStream:NetworkStream从网络套接字读取或写入字节。
PipeStream: PipeStream从不同的进程读取或写入字节。
CryptoStream:CryptoStream用于将数据流链接到加密转换。
下图显示了流类的层次结构:
Stream Classes Hierarchy
Stream Readers and Writers
StreamReaders:StreamReaders是一个帮助程序类,用于通过使用编码值将字节转换为字符来从流中读取字符。它可用于从不同的流(如文件流,内存流等)中读取字符串(字符)。
StreamWriter:StreamWriter是一个帮助程序类,用于通过将字符转换为字节来将字符串写入Stream。它可用于将字符串写入不同的流,如FileStream,MemoryStream等。
BinaryReader:BinaryReader 是一个帮助程序类,用于从字节读取基元数据类型。
BinaryWriter:BinaryWriter用二进制编写基元类型。
Stream IO
上图显示FileStream
从物理文件中读取字节,然后StreamReader
通过将字符串转换为字符串来读取字符串。同样,StreamWriter
获取字符串并将其转换为字节并写入FileStream
,然后FileStream
将字节写入物理文件。因此,FileStream
处理字节,其中 StreamReader
和 StreamWriter
处理字符串。
注意:
-
Stream
是一个抽象类,用于从不同源传输字节。它是所有其他类的基类,用于将字节写入不同的源。 -
FileStream
类提供字节到物理文件的读取和写入功能。 - 读取器和写入器类提供从Stream类(FileStream,MemoryStream等)读取字节的功能,并将字节转换为适当的编码。
-
StreamReader
提供了一个帮助程序方法,通过将字节转换为字符串来从 FileStream 读取字符串。StreamWriter 提供了一个帮助程序方法,通过将字符串转换为字节来将字符串写入 FileStream。