Heim >Java >javaLernprogramm >Wie kann ich bestimmte Zeilen effizient aus einer Textdatei entfernen?

Wie kann ich bestimmte Zeilen effizient aus einer Textdatei entfernen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 06:03:13517Durchsuche

How Can I Efficiently Remove Specific Lines from a Text File?

Zeilenentfernung aus einer Datei: Präzise Linien finden und eliminieren

Beim Streben nach Dateimanipulation kann es zu Situationen kommen, in denen bestimmte Zeilen benötigt werden aus einer bestimmten Textdatei entfernt werden soll. Um diesem Bedarf gerecht zu werden, möchten wir einen Codeausschnitt finden, der ganze Zeilen aus einer Datei findet und entfernt.

Betrachten Sie eine Beispieldatei mit dem Namen „myFile.txt“ mit folgendem Inhalt:

aaa
bbb
ccc
ddd

Unsere gewünschte Lösung ist eine Funktion, die es uns ermöglicht, eine bestimmte Zeile zu entfernen. Wenn wir beispielsweise „removeLine(“bbb“) aufrufen, sollte der Inhalt von „myFile.txt“ wie folgt aktualisiert werden:

aaa
ccc
ddd

Vorgeschlagene Codelösung

Diese Lösung spürt effizient die Zeile auf, die Sie entfernen möchten, und schreibt die Datei, mit Ausnahme dieser bestimmten Zeile, in eine temporäre Datei um. Sobald der Umschreibevorgang abgeschlossen ist, wird die Originaldatei durch die temporäre Datei ersetzt.

File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

String lineToRemove = "bbb";
String currentLine;

while((currentLine = reader.readLine()) != null) {
    // Removing leading and trailing whitespace to ensure accurate line matching
    String trimmedLine = currentLine.trim();
    if(trimmedLine.equals(lineToRemove)) continue;
    writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close();
reader.close();

// Renaming the temporary file to replace the original file
boolean successful = tempFile.renameTo(inputFile);

Dieser Code führt die Aufgabe aus, indem er die Originaldatei Zeile für Zeile liest und jede nicht übereinstimmende Zeile in die temporäre Datei schreibt . Wenn eine passende Zeile gefunden wird, wird diese übersprungen. Sobald alle Zeilen verarbeitet wurden, wird die temporäre Datei umbenannt, um die Originaldatei zu ersetzen.

Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Zeilen effizient aus einer Textdatei entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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