C# 使用MemoryMappedFile读取文件字节
如何使用C# 使用MemoryMappedFile读取文件字节,c#,memory-mapped-files,C#,Memory Mapped Files,如何使用MemoryMappedFile读取文件字节并将其放入byte[]数组中?假设您只想读取文件的一部分,类似这样的操作应该可以: long offset = 0x10000000; // 256 megabytes long length = 100; using (MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\Test.data")) { using (MemoryMappedViewS
MemoryMappedFile
读取文件字节并将其放入byte[]
数组中?假设您只想读取文件的一部分,类似这样的操作应该可以:
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
可以将小于length
字节的字节读入bytes
@dtb这一点很好,不清楚。我更新了我的答案。谢谢不,对不起。我对紧凑型框架没有太多经验。如果紧凑框架似乎不支持MemoryMappedFile
,您可能只需要使用标准的FileStream
,它是Seek
方法在文件中跳转。@Kostadin oops,忘了在我的最后一条评论中包含您的名字,这样您就可以收到我的响应通知了。。。