Leere Zeilen in Textdatei löschen lassen

Hansi3899

Aktives Mitglied
Hallo zusammen,

stehe mal wieder vor einem Problem. Ich habe eine große Textdatei und ich möchte gerne, dass die leeren Zeilen aus der Datei verschwinden.

der Ausgang:
1. ABABABA
2.
3. BABABAB
4.
5.

die Lösung:
1. ABABABA
2. BABABAB

Die Datei muss eingelesen werden. Dann muss jede Zeile verglichen werden. Anschließend sollen nur die Zeilen mit Inhalt ausgegeben werden.

Ich dachte an so etwas:

Java:
while (line != null) {
                   
                    if (!line.isEmpty()) {
                        writer.write(line);
                        writer.write("\n");
                    }
                }

Für jeden Tipp und Rat bedanke ich mich.

Gruß Hansi3899
 
Der Ansatz wäre doch schon ok. Mit dem entsprechenden Reader hättest Du eine entsprechende Lösung.

Oder Du nutzt Files.lines() um dann den Stream zu filtern filter( line -> !line.isEmpty() ). das kannst Du dann schreiben (Entweder per foreach oder erst ein collect um es dann zu schreiben.

oder oder oder ... Es gibt viele Wege, die zum Ziel führen.

Für sowas muss man aber Java nicht bemühen. Das geht auch mit Boardmitteln:

Unix/macos: grep -v '^$' input.txt > output.txt
windows: findstr /V /R "^$" input.txt > output.txt

Ach ja - Dein Ansatz etwas erweitert wäre:
Java:
        String inputFile = "input.txt";
        String outputFile = "output.txt";

        try (BufferedReader reader = new BufferedReader(new FileReader(inputFile));
             FileWriter writer = new FileWriter(outputFile)) {

            String line;
            while ((line = reader.readLine()) != null) {
                if (!line.isEmpty()) {
                    writer.write(line + System.lineSeparator());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
 
Hallo KonradN,

danke für die Antwort. Leider funktioniert das nicht. Ich habe mich geirrt. Die Zeilen beinhalten Leerzeichen. Diese Leerzeichen und die Zeile muss gelöscht werden.

Gruß
 

Neue Themen


Zurück
Oben