C# 相当于 Java 内存映射方法
C# equivalent of Java Memory mapping methods
在将 Java 项目转换为 C# 时,我遇到了以下问题:
RandomAccessFile raf = new RandomAccessFile(fileName, "r");
FileChannel channel = raf.getChannel();
MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, length);
我对内存映射的概念不熟悉,我在C#中找到了一个MemoryMappedFile
class,但不知道如何像在Java中那样正确使用它上面的代码(MappedByteBuffer
用于获取一个大的二进制文件,大约600-700MB)。
谁能告诉我如何正确翻译上面的文章?
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(fileName, FileMode.Read);
using (MemoryMappedViewStream vs = mmf.CreateViewStream()) {
// perform stream operations
}
MemoryMappedViewStream 是内存上的薄薄一层。
在将 Java 项目转换为 C# 时,我遇到了以下问题:
RandomAccessFile raf = new RandomAccessFile(fileName, "r");
FileChannel channel = raf.getChannel();
MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, length);
我对内存映射的概念不熟悉,我在C#中找到了一个MemoryMappedFile
class,但不知道如何像在Java中那样正确使用它上面的代码(MappedByteBuffer
用于获取一个大的二进制文件,大约600-700MB)。
谁能告诉我如何正确翻译上面的文章?
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(fileName, FileMode.Read);
using (MemoryMappedViewStream vs = mmf.CreateViewStream()) {
// perform stream operations
}
MemoryMappedViewStream 是内存上的薄薄一层。