Heim >Java >javaLernprogramm >Wie kann ich bestimmte Zeilen effizient aus einer Textdatei entfernen?
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!