我想读取和写入大型原始卷文件(例如 MRI 扫描)的内容。这些文件只是一个序列,例如 32 x 32 x 32 浮点数,因此它们可以很好地映射到一维数组。我希望能够将二进制卷文件的内容读入一维数组,例如 float 或 ushort(取决于二进制文件的数据类型),并类似地将数组导出回原始卷文件。
使用 C# 执行此操作的最佳方法是什么?使用 BinaryReader/BinaryWriter 一次读取/写入 1 个元素?使用 FileStream.Read 将它们分段读取到字节数组中,然后在数组之间执行 System.Buffer.BlockCopy?写我自己的读者/作家?
编辑:似乎无法使用 > 2GB 的阵列,但问题仍然代表较小的阵列(大约 256 MB 左右)