FileWriter Absatz / Zeilenumbruch mit Java

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Versuch's mal mit der Klasse PrintWriter, die ist besser für dich geeignet:

PrintWriter out = new PrintWriter(new FileWriter("dateiname"));
out.println("Text mit automatischem Zeilenumbruch);

PrintWriter Javadocs


Micstape 
Beitragsersteller
 12.02.2013, 19:06

danke, aber "java:77:43: error: unreported exception IOException; must be caught or declared to be thrown"

Micstape 
Beitragsersteller
 12.02.2013, 19:13
@myjack

dann macht er garnichts, scheint also in den catch fall zu gehen :/

Micstape 
Beitragsersteller
 12.02.2013, 19:15
@Micstape
text = "Sinnloser langer Text mit erwünschtem Zeilenumbruch " + "\n" + "es passiert aber garnichts, die Datei bleibt leer";
  try
  {
    PrintWriter out = new PrintWriter(new FileWriter("datei.txt"));
    out.println(text);         
  } catch (IOException e)
  {} 
myjack  12.02.2013, 19:20
@Micstape

Dann lass dir doch die exception einfach mal ausgeben.

Micstape 
Beitragsersteller
 12.02.2013, 19:25
@myjack
 catch (IOException e)
  {
    System.out.println(e);
  }

hm es öffnet sich aber keine konsole und im compiler steht auch nix..

myjack  12.02.2013, 19:58
@Micstape

Wenn du fertig bist mit schreiben, musst du den PrintWriter-Stream auch wieder schließen:

out.close();
Micstape 
Beitragsersteller
 12.02.2013, 20:14
@myjack

okay er schreibt jetzt was rein, danke, doch überschreibt er den alten text, ich möchte ja das bei jedem programm start dem alten dokumenten der neue text in einer nächsten zeile angefügt wird! ;)

myjack  12.02.2013, 20:22
@Micstape

Ich hab den Link in meiner Antwort nicht umsonst mit eingefügt, da ist eigentlich alles zu finden, was man braucht...

PrintWriter out = new PrintWriter(new FileWriter("datei.txt"), true);
myjack  12.02.2013, 20:45
@Micstape

Sorry, das true gehört natürlich zum FileWriter:

PrintWriter out = new PrintWriter(new FileWriter("datei.txt",true));
Micstape 
Beitragsersteller
 12.02.2013, 21:15
@myjack oha endlich gehts :* ich liebe dich (no homo!!)

danke, dass du dich so tapfer durch den langen mist durchgekämpft hast :) das hat auch einen stern verdient!

Benutze statt "\n" System.lineSeparator

Unter Windows ist das nämlich nicht "\n" , sondern "\n\r"


Micstape 
Beitragsersteller
 12.02.2013, 20:31
PrintWriter out = new PrintWriter(new FileWriter("datei.txt"), true);
out.println("\n\r" + text);     
out.close(); 

So wird auch der alte Text überschrieben und vor den neuen einfach zwei "leere Kästchen" (wie ein nicht erkanntes Sonderzeichen) eingefügt..