C#之stream

时间:2021-11-20 03:26:12

在C#中经常要用stream

stream下面主要有

FileStream:使用文件作为后备设备。

BufferedStream:使用缓冲区作为后备设备,用来增强性能的中间存储。

MemoryStream:使用内存作为后备存储,执行I/O速度快。

NetworkStream:没有后备设备,用于在网络上传输数据。

CryptoStream:和其他流配合使用,执行加密/解密操作。

Stream类的常用方法:

Seek()方法:设置流的当前位置。

Read()方法和ReadByte()方法,对流执行同步读取操作。

Read()在流尾返回0,

ReadByte()返回-1。

Write()方法和WriteByte()方法,对流执行同步写入操作。

Flush()方法:清除缓存区中的内容,并将其内容强制转移至目标设备。

Close()方法:释放资源,如文件、套接字等。该方法自动执行Flush()方法。

使用流有什么好处了:

比如说memorystream:

:MemoryStream可以进行很多控制的,这个就好比你使用StreamReader来来操作文件,而不是直接操作文件一样。 

MemoryStream 类创建这样的流,该流以内存而不是磁盘或网络连接作为支持存储区。MemoryStream 封装以无符号字节数组形式存储的数据,该数组在创建 MemoryStream 对象时被初始化,或者该数组可创建为空数组。可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。