Przeczytaj plik odwzorowany w pamięci lub znając jego rozmiar, aby go poprawnie odczytać

W tym pytaniu

Odczytaj całą zawartość pliku odwzorowanego w pamięci lub Accessora mapowanego pamięci bez znajomości jego rozmiaru

jest problem(int)stream.Length nie podaje mi prawidłowej długości, raczej podaje rozmiar używanego bufora wewnętrznego! Muszę odświeżyć to pytanie, ponieważ jest bardzo pilne.

Głównym pytaniem było:

Potrzebuję czegoś podobnego do ReadToEnd lub ReadAllBytes, aby odczytać całą zawartość MemoryMappedFile za pomocą MappedViewAccessor, jeśli nie znam jej rozmiaru, jak mogę to zrobić?

Szukałem tego, widziałem to pytanie, ale nie jest to rzecz, której szukam:

Jak mogę szybko odczytać bajty z pliku odwzorowanego w pamięci w .NET?

Stara odpowiedź brzmiała:

pub

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));
            }
        }
    }
}

W tym pytaniu:

Długość pliku mapowanego pamięci

Nie ma dokładnej odpowiedzi na dokładne pytanie! pytanie dotyczy czegoś innego niż tytułu.

questionAnswers(1)

yourAnswerToTheQuestion