Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MemoryMappedFile读取文件字节_C#_Memory Mapped Files - Fatal编程技术网

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,忘了在我的最后一条评论中包含您的名字,这样您就可以收到我的响应通知了。。。