gpt4 book ai didi

c# - System.IO.Stream.Read(byte[], int, int) 的阻塞版本

转载 作者:行者123 更新时间:2023-11-30 13:53:23 27 4
gpt4 key购买 nike

我正在使用 System.IO.Stream.Read(byte[] buffer, int offset, int count)。是否有该方法(或要设置的属性)的替代方法,以便该方法在读取所有计数(或到达流末尾)之前不会返回?或者我应该做这样的事情:

int n = 0, readCount = 0;
while ((n = myStream.Read(buffer, readCount, countToRead - readCount)) > 0)
readCount += n;

最佳答案

BinaryReader.ReadBytes以所需的方式阻止。然而,这并不等同于读取到流的末尾。 (您不想调用 BinarReader.ReadBytes(int.MaxValue) - 它会尝试创建一个 2GB 缓冲区!)

我倾向于使用 MemoryStream 从未知大小的流中读取所有数据。参见 this related question示例代码。

关于c# - System.IO.Stream.Read(byte[], int, int) 的阻塞版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/330502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com