0

我需要它来确定我是否可以使用 File.ReadAllBytes(快速)将文件完全加载到 RAM 或通过 FileStream 处理带有部分的文件,方法是读取接近 OutOfMemoryException 的字节数,但足以避免它。

我这样做是为了减少硬盘负载。我认为一次读取 1gb 比读取周期更好:读取 4 个字节 -> 处理那些 -> 再次读取 4 个字节 -> 处理那些 -> ...

4

1 回答 1

2

内存分配取决于它们当前的负载量。您不能选择一个数字,并希望您能够始终分配那么多空间。你应该选择一个失败几率低的安全号码。我想流通常使用 1-8MB 的缓冲区。

一次读取 1Gb 并以 256MB 的块读取 4 次时,HDD 负载或多或少相同。最后:您正在阅读 1GB。

于 2013-06-20T16:08:02.400 回答