Heim > Backend-Entwicklung > C++ > Wie kann ich effizient auf eine bestimmte Zeile in einer Textdatei zugreifen, ohne die gesamte Datei in den Speicher zu laden?

Wie kann ich effizient auf eine bestimmte Zeile in einer Textdatei zugreifen, ohne die gesamte Datei in den Speicher zu laden?

DDD
Freigeben: 2025-01-15 08:01:46
Original
694 Leute haben es durchsucht

How Can I Efficiently Access a Specific Line in a Text File Without Loading the Entire File into Memory?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage