Leerzeichen

celloman

Erfahrenes Mitglied
Moin

ich habe eine Datei die sieht so aus.

Datei:

-Auto
--Fahrad
----Lampe
------Ampel
------Vogel

Die Wörter sind mit Leerzeichen eingerückt.

Ich lese die Datei Zeilenweise aus ud speichere es in ein String.

Der String sieht danach so aus.

String:" Auto--------Fahrrad--------Lampe --------Ampel ----------Vogel "


"-----"Das soll mehrere Leerzeichen darstellen.

Ich möchte Das der String so aussieht.

String:"\nAuto\nFahrrad\nLampe\nAmpel\nVogel\n"

Code:
  String Datei=" ";

	while ((tool = Reader.readLine()) != null) {
			
			
		Datei +=tool;
				
					
		}
		System.out.println(tool);
		
		Reader.close();

Es sollte doch irgend ein Befehl geben wo ich sagen Kann das der Reader an der stelle zu lesen beginnen soll wo das Word anfäng.


MFG
 
Zuletzt bearbeitet:
Also wenn ich das richtig verstanden hab, moechtest du die Leerzeichen durch eine neue Zeile ersetzen?
Es gibt eine funktion, wenn ich mich recht erinner, da kann man Wort fuer Wort einlesen, dann solltest du weiterkommen.
 
Das ganze müsste mit replaceAll() + Regularexpression am einfachsten zu lösen sein.
Einfach mal in die API schaun und den Code entsprechend abändern.
 
Hab ma geschaut, das ist der StringTokenizer, damit kannst du Wort fuer Wort einlesen, und als Trennzeichnen nimmst du dann das Leerzeichen. Dann kannst du die einzelnen Woerter wieder in einen neuen String speichern und nach jeden Wort auch eine neue Zeile machen wenn du magst.
 
Das ganze müsste mit replaceAll() + Regularexpression am einfachsten zu lösen sein.
Einfach mal in die API schaun und den Code entsprechend abändern.

Wieso so kompliziert?

So wie ich das vertsanden habe, ist die Datei zeilenweise aufgebaut, d.h. pro Zeile nur 1 Begriff mit mehreren vorangestellten Leerzeichen.

Warum liest du nicht einfach die Datei zeilenweise ein und machst auf jede Zeile ein String.trim()?

Code:
String Datei="";

while ((tool = Reader.readLine()) != null) {
	Datei +=tool.trim() + "\n";
}
System.out.println(tool);
		
Reader.close();

Dabei hängt am Ende des Strings jetzt noch ein "\n". Wenn dir das nicht gefällt, musst du direkt nach der Schleife nochmal ein
Code:
tool = tool.substring(0, tool.length() - 1);
einfügen.
 

Neue Beiträge

Zurück