流 (信息技术)
计算机科学中对“可操作的字节序列”的抽象
流(Stream)是计算机科学中对“可操作的字节序列”的抽象,文件、IO设备、进程中通信管道或TCP/IP套接字都提供流。
定义
根据流的来源和载体不同,可以分为文件流、内存流、网络流、字符流等。
对流可以进行三种操作,即写入(Write)、读取(Read)和查找(Seek),但不是所有的流都支持这三种操作,只能读取的流叫做只读流。
流可以具有缓冲区(Buffer),以对读写数据进行缓冲,例如,向低速存储设备的写入操作通常需要缓冲流,以避免IO密集性访问。
C#实现
在C#中,所有流的基础是 System.IO.Stream 类型,其它流都是从它派生的,常用的有 System.IO.BufferedStream,System.IO.FileStream,System.IO.MemoryStream 等。
System.IO.Stream 定义于 System.Runtime.dll 程序集中,定义如下。
public abstract class Stream : MarshalByRefObject, IAsyncDisposable, IDisposable
通过 Stream 类型的三个只读属性 CanRead,CanWrite 和 CanSeek 可以查询流的功能。
Stream 类型的具体信息可在.NET API浏览器 (页面存档备份,存于互联网档案馆)中查询。
这是一篇计算机科学小作品。您可以通过编辑或修订扩充其内容。 |