3
如何使用MemoryMappedFile
讀取文件字節並將其放入byte[]
數組中?使用MemoryMappedFile讀取文件字節
如何使用MemoryMappedFile
讀取文件字節並將其放入byte[]
數組中?使用MemoryMappedFile讀取文件字節
假設你只需要讀取文件的一部分,這樣的事情應該工作:
long offset = 0x10000000; // 256 megabytes
long length = 100;
using (MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\Test.data"))
{
using (MemoryMappedViewStream stream = CreateViewStream(offset, length))
{
byte[length] bytes;
int bytesRead = stream.Read(bytes, 0, (int)length);
}
}
如果你想閱讀整個文件,你真的不應該使用在MemoryMappedFile
對象第一個地方。
請注意,'stream.Read'可能會讀取長度小於'bytes'字節的字節。 – dtb
@dtb好點,那還不清楚。我更新了我的答案。謝謝! –
你知道如何在Compact Framework中使用相同的技巧嗎? – Kostadin