我有一個非常大的BMP文件,我必須一次全部讀取,因爲我需要在將它寫入臨時文件時反轉字節。這個BMP是1.28GB,我得到了「內存不足」的錯誤。我無法完全讀取它(使用ReadAllBytes)或將緩衝區放入二進制數組中,因爲我無法初始化該大小的數組。我也無法使用緩衝區將它讀入List(我可以使用Reverse()),因爲它的中途耗盡內存。難以將大文件讀入字節數組
所以基本上問題是,我如何讀取一個非常大的文件向後(即,從LastByte開始到FirstByte結束),然後將其寫入磁盤?
獎勵:將反轉文件寫入磁盤時,不要寫入最後54個字節。
編輯問題,包括你使用,因爲會有所幫助,從4版開始的.NET framework版本,可以通過託管代碼訪問內存映射文件。 – 2013-04-08 08:51:12