Java Zeilenumbruch in einer String Variable?
Hey Community!
Also: Ich habe ein Programm entwickelt, das vom User eingegebene Nachrichten in einer Array aufreiht, und dann in ein bestimmtes .txt File speichert. Die Variable "allX" stellt die gesammelten Nachrichten da, "Notify" ist die Array, das Problem ist das ich nicht weiss wie es möglich sein sollte, die Nachrichten mit Zeilenumbruch zu speichern, normal werden diese sonst gleich nebeneinander angereiht... Hoffe ich konnte es halbigs passable formolieren... /n geht hier leider nicht.
allX = allX + Notify.get(i) + "Zeilenumbruch? ";
LG Maxecito!
3 Antworten
System.getProperty("line.separator");
Allgemein gültige Zeilenumbruch, Systemangepasst
Naja... System-un-abhängigkeit ist aber erstmal nicht gefragt, oder?
Es geht doch bloß um die Kodierung des Zeilenvorschubs mit "\r\n" und/oder "\n". Ich vermute, daß "maxecito" noch nicht den Unterschied zwischen "/" und "\" bemerkt hat. ...Jedenfalls nach dem zu urteilen, was in der Frage steht.
Dann machst Du etwas falsch:
- Entweder benutzt Du zur Anzeige Deiner Datei einen Editor, der mit NUR "\n" nicht klarkommt. Nimm dann zur Lösung den systemspezifisch korrekten Zeilenumbruch!
- Oder Du versuchst die Datei in einem Dateibetrachter anzuzeigen, der Zeilenumbrüche nicht erkennt (wobei: unwahrscheinlich, dass es sowas überhaupt gibt).
- Oder Du benutzt eine Operation zum Speichern in der Datei, durch die die Zeilenumbrüche entfernt werden.
Damit Dir effektiv Hilfe gegeben werden kann, zeige den GESAMTEN Programmabschnitt, der sich mit dem Speichern befasst! DANN können wir Dein Problem nachstellen oder Dir beweiskräftig zeigen, ob bzw. dass es bei Dir nur am Dateibetrachter liegt.
Warte - mir schwant eine Idee:
Du läßt die Datei in einem Browser anzeigen, richtig?!?
In DEM Fall verweisen wir Dich mal auf die Spezifikation für HTML...
Speziell auf die Behandlung von sogenanntem "Whitespace" in HTML.
Bzw. zielführender auf entweder
<textarea>...Text mit Whitespaces und Zeilenumbrüchen... </textarea>
oder ein div, welchem mit CSS eine Auszeichnung
white-space: pre
gegeben wurde (http://www.w3schools.com/cssref/pr_text_white-space.asp).
Nun, er fragte nach dem Zeilenumbruch und ich schicke ihn in die APIdocs, damit er lesen kann.
Ja, ist schon richtig: Dort bekommt er es zudem ausführlich erläutert.
Wobei: Wenn er in die API "als solche" schaut, wird er nicht fündig werden. Weil bei Oracle aus dem, was die "API" schimpfen heraus die "Java language specification", in der es um die Kodierung von ASCII-Steuerzeichen geht, nicht verlinkt ist. Lange Rede, kurzer Sinn:
http://docs.oracle.com/javase/specs/jls/se7/html/index.html
Dort im Abschnitt "Character Literals"...
Zeilenumbrüche sind Systemabhängig.
Wo stehen nochmal die ganzen SYSTEMabhängigen Sachen...
Ach ja! java.lang.System!
Lies die APIdocs!
Sorry, doch habe ich. Das war ein Schreibfehler, in der Frage, \n geht jedoch auch nicht