„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Zeilen aus großen Textdateien in C#effizient löschen?

Wie kann ich Zeilen aus großen Textdateien in C#effizient löschen?

Gepostet am 2025-03-22
Durchsuche:455

How Can I Efficiently Delete Lines from Large Text Files in C#?

c# effiziente Textdateizeile Löschung Methode

]

Bei der Verarbeitung von Textdateien müssen häufig bestimmte Zeilen gelöscht werden. In diesem Artikel werden effiziente Lösungen zur Implementierung dieser Aufgabe in C#untersucht, insbesondere für die Behandlung großer Textdateien.

Lösung Übersicht

Dieses Schema erstellt eine temporäre Datei und kopieren die Zeilen aus der Originaldatei selektiv in die temporäre Datei, ausgenommen die zu gelöschten Zeilen. Nach der Verarbeitung der Zielzeile ersetzt die temporäre Datei die Originaldatei, wodurch unnötige Zeilen gelöscht werden.

code implementierung

string tempFile = Path.GetTempFileName();

using (StreamReader sr = new StreamReader("file.txt"))
using (StreamWriter sw = new StreamWriter(tempFile))
{
    string line;

    while ((line = sr.ReadLine()) != null)
    {
        if (line != "removeme")
            sw.WriteLine(line);
    }
}

File.Delete("file.txt");
File.Move(tempFile, "file.txt");

Diese Methode stellt sicher, dass nur notwendige Zeilen beibehalten werden, während Zielzeilen von aktualisierten Dateien ausgeschlossen werden.

Andere Überlegungen

  • Aufführung: Für große Dateien minimiert diese Methode die Speichernutzung und das Festplatten -I/O, indem Zeilen nacheinander verarbeitet werden.
  • codieren: Der Code geht davon aus, dass die Textdatei mit UTF-8 codiert wird. Passen Sie die Codierung nach Bedarf an.
  • Speicherverarbeitung: Für kleinere Dateien kann die Speicherverarbeitung effizienter sein. Bitte betrachten Sie Folgendes:
File.WriteAllLines("file.txt",
    File.ReadLines("file.txt").Where(l => l != "removeme").ToList());

Diese Methode vermeidet das Erstellen von temporären Dateien, muss jedoch sofort mit Tolist () ausgeführt werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3