Bestimmte Zeilen von Textdateien effizient lesen, um Speicherverbrauch zu vermeiden
In diesem Artikel werden verschiedene Möglichkeiten vorgestellt, wie Sie bestimmte Zeilen von Textdateien effizient lesen können, ohne die gesamte Datei in den Speicher zu laden.
.NET 4.0 und höher
.NET 4.0 und höher kann die Skip-Line-Methode verwenden:
<code>string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
Diese Methode liest Zeile 15 direkt, ohne die gesamte Datei in den Speicher zu laden.
.NET 4.0 oder niedriger
Vor .NET 4.0 müssen Sie Zeile für Zeile überspringen:
<code>string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { for (int i = 1; i < line; i++) sr.ReadLine(); return sr.ReadLine(); } }</code>
Diese Methode liest nur die erforderlichen Zeilen und reduziert so den Speicherverbrauch.
Notizen
Während der Ansatz zum Überspringen von Zeilen das Speichern der gesamten Datei im Speicher vermeidet, ist er möglicherweise weniger effizient für den Zugriff auf Zeilen am Ende der Datei. Darüber hinaus muss die Dateistruktur eine genaue Bestimmung der Zeilennummern ermöglichen, ohne auf möglicherweise variierende Zeilennummern angewiesen zu sein.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient auf eine bestimmte Zeile in einer Textdatei zugreifen, ohne die gesamte Datei in den Speicher zu laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!