Lesen Sie die mit dem Speicher verknüpfte Datei oder kennen Sie ihre Größe, um sie korrekt zu lesen

In dieser Frage

Lesen Sie den gesamten Inhalt der Speicherzuordnungsdatei oder des Speicherzuordnungsansichts-Accessors, ohne dessen Größe zu kennen

Es gibt ein Problem, das(int)stream.Length gibt mir nicht die richtige Länge, sondern die Größe des verwendeten internen Puffers an! Ich muss diese Frage auffrischen, weil sie sehr dringend ist.

Die Hauptfrage war:

Ich benötige etwas Ähnliches wie ReadToEnd oder ReadAllBytes, um den gesamten Inhalt der MemoryMappedFile mit dem MappedViewAccessor zu lesen. Wie kann ich das tun, wenn ich die Größe nicht kenne?

Ich habe danach gesucht, ich habe diese Frage gesehen, aber es ist nicht das, wonach ich suche:

Wie kann ich schnell Bytes aus einer Speicherzuordnungsdatei in .NET lesen?

Die alte Antwort war:

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

In dieser Frage:

Speicherabbildungsdateilänge

Es gibt keine genaue Antwort auf die genaue Frage! Die Frage handelt von etwas anderem als dem Titel.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage