在C#中,FileStream
的方法Read/Write/Seek在參數中取integer
。在previous post中,我看到了一個很好的解決方案來讀取/寫入大於分配給進程的虛擬內存的文件。在C#中查找和寫入大於2GB的文件
如果您想從頭到尾寫入數據,此解決方案可以正常工作。但就我而言,我收到的大量數據沒有特定的順序。
我有工作的小於2GB代碼的文件:
private void WriteChunk(byte[] data, int position, int chunkSize, int count, string path)
{
FileStream destination = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter writer = new BinaryWriter(destination);
writer.Seek((int) (position*chunkSize), SeekOrigin.Begin);
writer.Write(data, 0, count);
writer.Close();
}
有沒有一種方法,我可以尋求和寫入我的組塊的文件大於2GB?
謝謝!我看到BinaryWriter沒有超載尋找一個很長的,但FileStream。 –
MSDN文檔顯示BinaryWriter.Seek的偏移參數爲int。在VS2010中進行雙重檢查,BinaryWriter.Seek將第一個參數顯示爲int,沒有重載。那麼需要多長時間? – user957902
在打開BinaryReader之前,您需要查找FileStream。 – usr