簡體   English   中英

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類,但不知道如何像上面的Java代碼中那樣正確使用它( MappedByteBuffer用於獲取大的二進制文件,大約600- 700MB)。

誰能告訴我如何正確翻譯以上內容?

MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(fileName, FileMode.Read);
using (MemoryMappedViewStream vs = mmf.CreateViewStream()) {
    // perform stream operations
}

MemoryMappedViewStream是內存上的薄薄單板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM