String in .txt Datei schreiben

Status
Nicht offen für weitere Antworten.

Tonipasta

Mitglied
Hallo Forum,

ich schreibe einen String (ausgabe_text) folgendermaßen in eine .txt Datei

Java:
try {
BufferedWriter out = new BufferedWriter(new FileWriter("C:/File.txt"));
out.write(ausgabe_text);
out.close();
} 
    	
catch (IOException e) {
e.printStackTrace();
}



Der String (ausgabe_text) enthält Zeilenumbrüche, die mit \n erzeugt worden sind.

Beispiel:
ausgabe_text = "\nDatum von heute:\nDatum von morgen"


Wenn ich mir die erzeugte .txt Datei unter WinXP mit dem Notepad anschaue, werden die Zeilenumbrüche durch das kleine Rechteck dargestellt und es hat auch keine Wirkung. Folglich steht alles in einer Zeile.
Schaue ich mir das ganze z.B: mit dem Editor PSPad an, habe ich genau das was ich will -> Zeilenumbrüche

Kann mir einer sagen, wie ich es schaffe auch mit dem Notepad die Ausgabe hinzubekommen mit dem Zeilenumbruch???
 
[c]System.getProperty("line.separator");[/c] liefert dir die auf deinem System verwende Newline-Kombination.
 
new OutputStreamWriter(new FileOutputStream("C:/File.txt"), "8859_1")
in den BufferedWriter hinein
 
Gibt es auch ein für den Tab eine System.Property wie bei line_seperator? Oder kann ich beruhigt \t im String verwenden und das Ergebnis ist immer gleich, egal ob im Textfeld einer GUI oder im Editor unter Windows, Linux etc..?
 
\t ist immer gleich.
Btw, Windows verwendet \r\n (oder wars \n\r?), die alten Mac Systeme \r und Unixderivate (auch Linux) \n
 
Supi! Vielen Dank liebes Forum!!

Eins intressiert mich noch. Ich will meinen String an eine JTextArea übergeben und wenn der zu lang ist soll eine Zeilenumbruch erfolgen. Das geht ja mit area.setLineWrap(true);
Wenn jetzt ein Zeilenumbruch erfolgt möchte ich gerne ein \t in der neuen Zeile haben. Ich habe folgendes probiert:

Java:
JTextArea textArea = new JTextArea(ausgabe_String);
				
		
textArea.addPropertyChangeListener("lineWrap", new PropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent evt) {
            	ausgabe_String = ausgabe_String + "\t";
            }
        });

Hatte gelesen, dass ein LineWrap immer ein PropertyChange("LineWrap") feuert. Und wenn das der Fall ist möchte ich das die neue Zeile einen Einschub mit \t hat. Kann mir jemand weiterhelfen?
 
schau dir das Event an, vielleicht steht da die genaue Stelle des Strings,
aber wenn, dann musst du den String in der JTextArea ändern, nicht den in irgendeiner Variable außerhalb
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben