Ich muss eine große Datei verarbeiten, etwa 400K Zeilen und 200 M. Aber manchmal muss ich von unten nach oben verarbeiten. Wie kann ich hier einen Iterator (yield return) verwenden? Im Grunde möchte ich nicht alles in den Speicher laden. Ich weiß, dass es effizienter ist, Iterator in .NET zu verwenden.
Damit werden die letzten 10.000 Bytes vorwärts gelesen, nicht rückwärts vom Ende zum Anfang. Außerdem, warum nicht einfach .Seek(-10000, [System.IO.SeekOrigin]::End);
?
0 Stimmen
Siehe auch: Erhalten Sie die letzten 10 Zeilen einer sehr großen Textdatei > 10GB c#
0 Stimmen
Eine Möglichkeit wäre, eine ausreichend große Menge vom Ende her zu lesen und dann mit String.LastIndexOf rückwärts nach " \r\n ".
0 Stimmen
Siehe meinen Kommentar im Duplikat stackoverflow.com/questions/398378/