この質問では、
サイズを知らなくても、メモリ マップド ファイルまたはメモリ マップド ビュー アクセサーのすべての内容を読み取る
問題があり(int)stream.Length
ます。正しい長さではなく、使用されている内部バッファのサイズが表示されます! この質問は非常に差し迫っているので、更新する必要があります。
主な質問は次のとおりです。
サイズがわからない場合、MappedViewAccessor を使用して MemoryMappedFile のすべての内容を読み取るには、ReadToEnd または ReadAllBytes に似たものが必要ですが、どうすればよいですか?
私はそれを検索しました、私はこの質問を見ましたが、それは私が探しているものではありません:
.NET でメモリ マップ ファイルからバイトをすばやく読み取るにはどうすればよいですか?
古い答えは次のとおりです。
パブ
public static ReadMMFAllBytes(string fileName)
{
using (var mmf = MemoryMappedFile.OpenExisting(fileName))
{
using (var stream = mmf.CreateViewStream())
{
using (BinaryReader binReader = new BinaryReader(stream))
{
return binReader.ReadBytes((int)stream.Length));
}
}
}
}
この質問では:
正確な質問の正確な答えはありません!タイトル以外の質問です。