Leerzeilen entfernen

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo zusammen,
ich lese gerade eine Textdatei aus und möchte die überflüssigen Leerzeilen entfernen.
Mit sowas wie:
Code:
BufferedWriter neu = new BufferedWriter();
FileReader filreader = new Filereader();
String string = filereader.readLine();
if(!string.substring(0,1).equals(" "){
neu.writeLine(string);
neu.newLine();
}else{
string = filereader.redLine()
}
in einer Schleife natürlich verpackt bekomme ich bei einer Leerzeile eine StringOutOfBoundsException, ist ja klar.
Hat vielleicht jemand eine Idee wie ichg dies umsetzen kann?
Besten Dank
 

Kola

Aktives Mitglied
Mit trim() entfernst du Whitespace aus Strings.

Code:
.....
String zeile = .....
if((zeile.trim().equals(""))==false)
{
    //Zeile wegschreiben
}else
{
    //nur Leerzeichen
}
 

me.toString

Bekanntes Mitglied
Also mir fallen da zwei Möglichkeiten ein ...
1. Du fängst die StringOutOfBoundsException einfach auf und machst dann einfach nix mit der gelesenen Zeile oder
2. du fragst nicht mit substring() nur die ersten Zeichen ab, sondern fragst den ganzen String string.equals(" ") ... da muss aber aufpassen, dass string nicht null wird ... sonst hast auf einmal 'ne NullPointerException ... also dann lieber
Code:
if( string != null && !string.equals(" ") ) ...
 
G

Gast

Gast
Vielen Dank erstmal.
Mit trim funktioniert es ganz gut.
mit
Code:
!string.equals(" ")
habe ich keine Chance, da ja gar kein Leerzeichen in der Zeile ist.
Es handelt sich nur um eine leere Zeile.
Aber trotzdem vielen Dank, wäre sonst nicht weiterge-
kommen.
 

Murray

Top Contributor
Den Vergleich auf "" kann man sich auch noch schenken, indem man die Länge abfragt (das dürfte etwas effizienter sein als ein String-Vergleich).

Code:
if( string.trim().length() > 0) {
  //--- Zeile schreiben
} else {
  //--- Zeile enthält nur Whitspace-Characters
}
 

Einwegdose

Aktives Mitglied
Bin mir nicht sicher ob das geht .. eine leere Zeile muss nicht aus 0 Zeichen bestehen ;)

Ich würde es so machen:

Code:
BufferedWriter neu = new BufferedWriter(...);
FileReader filereader = new Filereader();
String string;
while ( filereader.ready() ) {
 if ( !(string = filereader.readLine()).equals("\r\n") )  neu.writeLine(string+"\r\n");
}
 

Murray

Top Contributor
Einwegdose hat gesagt.:
Bin mir nicht sicher ob das geht .. eine leere Zeile muss nicht aus 0 Zeichen bestehen ;)
Hat ja auch niemand behauptet. Aber eine Leerzeile, aus der mit trim() leading und trailing whitespace entfernt wurde, sollte eigentlich eine Länge von 0 haben - zumindest wenn man die Auffassung teilt, dass das Wesen einer Leerzeile eben darin besteht, dass sie keine Zeichen außer Whitespace-Characters enthält.
 

Leroy42

Top Contributor
Einwegdose hat gesagt.:
Code:
 if ( !(string = filereader.readLine()).equals("\r\n") )  neu.writeLine(string+"\r\n");

Wird nicht funktionieren, da

1. "\r\n" nur unter Windows die Repräsentation einer Leerzeile ist.
2. Die Reader die Leerzeilen sowiese entfernen und eine Sequenz die eine Leerzeile darstellt
gar nicht geliefert werden kann!

Die Lösung mit line.trim().length() > 0 ist schon in Ordnung, da trim auch die Whitespaces
Blank, Tabulator(, Formfeed?) entfernt.
 

Murray

Top Contributor
Leroy42 hat gesagt.:
Die Lösung mit line.trim().length() > 0 ist schon in Ordnung, da trim auch die Whitespaces
Blank, Tabulator(, Formfeed?) entfernt.

Gemeinerweise hat String#trim eine etwas andere Definition von Whitespace als z.B. Pattern: für String#trim sind alle Zeichen <= '\u0020' Whitespace.
 

Leroy42

Top Contributor
Daß für trim alle Steuerzeichen (EOB, EOT, ...) whitespaces sind, wußte ich nicht :shock:

Aber ich denke mal, für das was man üblicherweise bei Textdateien unter
Leerzeichen versteht, sollte es keine Probleme geben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Erste Schritte String: Alle doppelten Leerzeilen entfernen Java Basics - Anfänger-Themen 21
Dimax Leerzeilen aus einem String entfernen Java Basics - Anfänger-Themen 61
T Input/Output Leerzeilen in Ausgabe -> finde den Fehler nicht Java Basics - Anfänger-Themen 10
P regex für leerzeilen Java Basics - Anfänger-Themen 14
K Leerzeilen beim speichern in txt Datei Java Basics - Anfänger-Themen 6
C exec Aufruf mit Leerzeilen im Pfad Java Basics - Anfänger-Themen 3
W N-Leerzeilen ausdrucken Java Basics - Anfänger-Themen 6
R JTextArea +Leerzeilen Java Basics - Anfänger-Themen 3
O leerzeilen in txt Java Basics - Anfänger-Themen 9
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
L Buchstaben entfernen zipZap Java Basics - Anfänger-Themen 8
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
Lion.King Dupklikationen entfernen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
bluetrix Hash Set hälfte entfernen Java Basics - Anfänger-Themen 7
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
EchtKeineAhnungManchmal Controller aus FXML Datei entfernen Java Basics - Anfänger-Themen 49
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
J String aus einem Array entfernen Java Basics - Anfänger-Themen 10
M Untersuchen ob ein Graph nach entfernen einer Kante immer noch zusammenhängend ist Java Basics - Anfänger-Themen 70
J erstes Vorkommen eines Chars aus einem String entfernen Java Basics - Anfänger-Themen 3
J erstes Vorkommen eines chars entfernen Java Basics - Anfänger-Themen 1
E Nullen aus Nachkommastellen entfernen Java Basics - Anfänger-Themen 2
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
D JList ListSelectionEvent entfernen? Java Basics - Anfänger-Themen 13
O Methode um Vokale zu entfernen UNSCHOEN! Java Basics - Anfänger-Themen 8
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
C Zeichen im String bis zu bestimmter Stelle entfernen Java Basics - Anfänger-Themen 6
C Entfernen des ersten String-Elements Java Basics - Anfänger-Themen 6
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
R Buchstabe aus String entfernen Java Basics - Anfänger-Themen 13
D Leerzeichen entfernen Java Basics - Anfänger-Themen 4
J Objekt aus Liste entfernen Java Basics - Anfänger-Themen 20
A Folgende Nullen einer Kommazahl aus String entfernen Java Basics - Anfänger-Themen 3
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
S Zeile entfernen aus JTable Java Basics - Anfänger-Themen 15
H Erste Schritte String Vokale entfernen Java Basics - Anfänger-Themen 11
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
O JTextPane / JtextArea Zeilenabstand entfernen Java Basics - Anfänger-Themen 1
P Java Leerzeichen in der Ausgabe entfernen Java Basics - Anfänger-Themen 3
I in listFiles() oder JList Dateiendungen entfernen Java Basics - Anfänger-Themen 14
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
N Probleme beim entfernen eines JPanels Java Basics - Anfänger-Themen 4
S Logging Code komplett von Compiler entfernen lassen..? Java Basics - Anfänger-Themen 5
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
R Best Practice Elemente aus ArrayList entfernen (performant) Java Basics - Anfänger-Themen 6
J Alle Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 13
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
S String aus String entfernen Java Basics - Anfänger-Themen 2
Q Kommastellen hinter double wert entfernen Java Basics - Anfänger-Themen 5
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
M bestimmten Teil eines Strings entfernen Java Basics - Anfänger-Themen 4
G Multiple Leerzeichen entfernen Java Basics - Anfänger-Themen 13
H Redundante Elemente aus ArrayList entfernen Java Basics - Anfänger-Themen 3
S Umlaute aus Dateisystem entfernen Java Basics - Anfänger-Themen 5
L 0 nach Komma entfernen Java Basics - Anfänger-Themen 9
S NumberFormat Tausender Zeichen entfernen? Java Basics - Anfänger-Themen 4
A ; entfernen Java Basics - Anfänger-Themen 3
R Vokale aus String entfernen Java Basics - Anfänger-Themen 11
A Elemente aus Liste entfernen Java Basics - Anfänger-Themen 5
G Long oder int Vorzeichen entfernen Java Basics - Anfänger-Themen 3
J Duplikate aus Liste entfernen Java Basics - Anfänger-Themen 16
A Threads Zur Laufzeit hinzufügen/entfernen Java Basics - Anfänger-Themen 10
C Variablen array element hinzufügen/entfernen Java Basics - Anfänger-Themen 10
S Collections Aus Set<Object> bestimmte Typen entfernen Java Basics - Anfänger-Themen 3
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
H Eintrag aus ArrayList entfernen Java Basics - Anfänger-Themen 7
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
S Entfernen aus einer Liste Java Basics - Anfänger-Themen 2
M zeichen aus string entfernen Java Basics - Anfänger-Themen 2
B Element aus Array entfernen Java Basics - Anfänger-Themen 13
M Anführungszeichen entfernen Java Basics - Anfänger-Themen 9
T Elemente aus einem ArrayList entfernen Java Basics - Anfänger-Themen 12
C leerstellen entfernen Java Basics - Anfänger-Themen 12
J Menüleiste Kaffe-Icon entfernen wie? Java Basics - Anfänger-Themen 8
K OOP Aus Collection Objekte bestimmter Subklassen entfernen Java Basics - Anfänger-Themen 7
Benji0815 HTML <div> Tags entfernen Java Basics - Anfänger-Themen 6
TheKing Programm-Icon entfernen Java Basics - Anfänger-Themen 3
N Panel entfernen Java Basics - Anfänger-Themen 2
Povlsen84 String - Zeichen am Anfang entfernen Java Basics - Anfänger-Themen 11
R Zeichnung entfernen und neue Zeichnen lassen Java Basics - Anfänger-Themen 20
J Stapel oberstes Element entfernen Java Basics - Anfänger-Themen 5
T HTML Kommentare mit regulären Ausdrücken entfernen Java Basics - Anfänger-Themen 4
S Regulärer Ausdruck - alles was keine Zahl ist entfernen Java Basics - Anfänger-Themen 2
C Abhängigkeiten zwischen Projekten entfernen Java Basics - Anfänger-Themen 6
M Array List Objekt Entfernen Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben