我有10億個體素的體素文件,每個體素都是真/假,並保存在一維布爾數組中。在C#中保存/加載巨型布爾數組到磁盤?
什麼是將其複製到磁盤的好方法,例如字節/ 0100010101 ASCII文件,我可以快速高效地將文件讀回到內存中?
此刻,我可以用文件寫入到磁盤:
savePath = System.IO.Directory.GetParent(Application.dataPath).ToString()+ "/Saved_Files" ;
var sw : System.IO.StreamWriter;
我不知道讀寫1-2GB文件的最好方法。
這是我寫的那一刻:
function saveBW(){
//var SW2 : System.IO.StreamWriter;
var timeString = DateTime.Now.ToString("HH-mm");
var fileNameFromFolder= Path.GetFileNameWithoutExtension(QPath[QDone]);
fileNameFromFolder = stripTrailingSlash(fileNameFromFolder);
PLYname = "MK5_aliased_" + fileNameFromFolder + "_"+ timeString + ".Bo0L" ;
var str ="";
var SW2 = new System.IO.StreamWriter(savePath + "/" + PLYname);
for(var tr = 0 ; tr < mesher.supernormous.Length ; tr++)
{
str += mesher.supernormous ? 1 : 0;
if(tr%255==0)SW2.Write(str);
}
SW2.Write(str);
SW2.Flush();
SW2.Close();
}
您可以將8位組合在一起,並將它們寫爲字節 –
我對如何編寫最簡單的解析器和分段讀取以找到我在讀取過程中的位置感到困惑。 –
不要重新發明輪子。 https://msdn.microsoft.com/en-us/library/system.io.binarywriter(v=vs.110).aspx –