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