Чтение файла с отображенной памятью или знание его размера для правильного чтения

В этом вопросе

Прочитать все содержимое файла с отображенной памятью или Access View Mapped View, не зная его размера

есть проблема,(int)stream.Length не дает мне правильную длину, а скорее дает размер используемого внутреннего буфера! Мне нужно обновить этот вопрос, потому что это очень актуально.

Главный вопрос был:

Мне нужно что-то похожее на ReadToEnd или ReadAllBytes для чтения всего содержимого MemoryMappedFile с помощью MappedViewAccessor, если я не знаю его размера, как я могу это сделать?

Я искал это, я видел этот вопрос, но это не то, что я ищу:

Как я могу быстро прочитать байты из файла сопоставленной памяти в .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));
            }
        }
    }
}

В этом вопросе:

Длина отображаемого в память файла

Нет точного ответа на точный вопрос! вопрос о чем-то другом, кроме названия.

Ответы на вопрос(1)

Ваш ответ на вопрос