BufferedStream

本文介绍BufferedStream如何通过缓存数据提高读写性能,并减少对操作系统的调用次数。文章详细解释了BufferedStream的工作原理及其提供的方法和属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个缓冲区就是内存用于缓存数据,从而减少了对操作系统的调用中的字节块。 缓冲区提高读取和写入性能。 缓冲区可以同时使用的是读取或写入,但永远不会同时。 Read并Write方法的BufferedStream自动维护缓冲区。
BufferedStream 可以是围绕某些类型的流组成。 它提供用于读取和字节写入到基础数据源或存储库的实现。 使用BinaryReader和BinaryWriter用于读取和写入其他数据类型。 BufferedStream 设计是为了防止从减的前提下输入和输出时不需要缓冲区的缓冲区。 如果始终读取和写入的大小大于内部缓冲区的大小,然后BufferedStream可能甚至无法分配内部缓冲区。 BufferedStream 此外缓冲读取和写入的共享缓冲区中。 假定您将几乎总是会执行一系列的读取或写入,但很少会交替使用这两个孩子。
属性
CanRead 获取一个值,该值指示当前流是否支持读取。
CanSeek 获取一个值,该值指示当前流是否支持查找。
CanTimeout 获取一个值,该值确定当前流是否可以超时。
(Inherited from Stream)
CanWrite 获取一个值,该值指示当前流是否支持写入。
Length 获取流长度,长度以字节为单位。
Position 获取当前流内的位置。
ReadTimeout 获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。
(Inherited from Stream)
WriteTimeout 获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试写入多长时间。
(Inherited from Stream)
方法
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 开始异步读操作。 (请考虑改用 ReadAsync(Byte[], Int32, Int32, CancellationToken)。)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 开始异步写操作。 (请考虑改用 WriteAsync(Byte[], Int32, Int32, CancellationToken)。)
CopyTo(Stream) 从当前流中读取字节并将其写入到另一流中。
(Inherited from Stream)
CopyToAsync(Stream) 从当前流中异步读取字节并将其写入到另一个流中。
(Inherited from Stream)
CopyToAsync(Stream, Int32) 使用指定的缓冲区大小,从当前流中异步读取字节并将其写入到另一流中。
(Inherited from Stream)
CreateObjRef(Type) 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
(Inherited from MarshalByRefObject)
CreateWaitHandle() 分配 WaitHandle 对象。
(Inherited from Stream)
Dispose() 释放由 Stream 使用的所有资源。
(Inherited from Stream)
Dispose(Boolean) 释放由 Stream 占用的非托管资源,还可以另外再释放托管资源。
(Inherited from Stream)
EndRead(IAsyncResult) 等待挂起的异步读操作完成。 (请考虑改用 ReadAsync(Byte[], Int32, Int32, CancellationToken)。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值