gpt4 book ai didi

c# - 需要一个不知道大小的异步文件阅读器

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:48 25 4
gpt4 key购买 nike

我需要一种将文件异步读取到字节数组的方法,但我不知道文件的大小(可能是几 Kb 或好几 Mb)。

我试过 FileStream 获取长度并使用 BeginRead,但问题是长度很长且 BeginRead 只接受 int,如果文件太大可能会溢出。我想的另一种方法是通过较小的 block 读取它,但每次我必须读取新的字节 block 时,我都必须创建一个新数组(只是想避免必须初始化新的和更大的数组)。

我对更好或更简单的方法持开放态度,否则我会以更小的 block 阅读。

最佳答案

你可以把它分块成一个 MemoryStream (MemoryStream 将管理将二进制信息附加到内存中),最后您只需调用 memoryStream。 ToArray() .

此外,这是一种在两个流实例之间进行复制的方法(从您的文件流到您的 MemorySream:

How do I copy the contents of one stream to another?

关于c# - 需要一个不知道大小的异步文件阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863259/

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