我有一个非常大的 BMP 文件,我必须一次全部读取,因为在将其写入临时文件时需要反转字节。此 BMP 为 1.28GB,我收到“内存不足”错误。我无法完全读取它(使用 ReadAllBytes)或使用缓冲区到二进制数组,因为我无法初始化该大小的数组。我也无法使用缓冲区将其读入列表(然后我可以使用 Reverse()),因为中途内存不足。
所以基本上问题是,我如何向后读取一个非常大的文件(即,从 LastByte 开始并在 FirstByte 结束)然后将其写入磁盘?
奖励:将反转文件写入磁盘时,不要写入最后 54 个字节。