2016-03-22 13 views
1

Ich versuche, meine Aussage in neuen Zeilen erscheinen, wenn ich die Textdatei öffne, habe ich das "\ n", aber kein Glück. Mein Code ist unten:Wie mache ich neue Zeilen in Buffer Writer - Java

try { 

     FileWriter ac = new FileWriter("D:\\programming\\Java\\JavaBanking\\Transactions.txt",true); 
     BufferedWriter fw = new BufferedWriter(ac); 

     fw.write("You have chosen the following amount:" + String.valueOf(amount)+ "\n" + " the number:" + getNumber() + "Is the chosen number" 

      ); 
     fw.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

Im Moment scheint es nur in einer langen Reihe, wie kann ich die Informationen erscheinen in in neue Linie?

+1

Wie öffnest du die Textdatei? Programme wie Notepad respektieren nicht immer neue Zeilen. – azurefrog

+0

Ich sehe, dass Sie 'ioexception' für Ihre Frage markiert haben, aber Sie erwähnen nicht, dass Sie eine erhalten, wenn Sie Ihr Programm ausführen. Welche Ausnahme bekommst du? Wenn nicht, sollten Sie das Tag entfernen. – azurefrog

+2

siehe: http://stackoverflow.com/questions/207947/how-do-i-get-a-platform-dependent-new-line-character –

Antwort

1

Mit String.format() Sie können Agnostiker% n als Plattform nutzen Zeichen für Wagenrücklauf, % d ist für Ints und % s für Strings. Die Nachricht innerhalb von "..." wird mit den Werten gefüllt, die in der gleichen Reihenfolge angegeben wurden.

try { 

     FileWriter ac = new FileWriter("D:\\programming\\Java\\JavaBanking\\Transactions.txt",true); 
     BufferedWriter fw = new BufferedWriter(ac); 

     String message = String.format(
       "You have chosen the following amount: %d %n the number: %d Is the chosen number", 
       amount, 
       getNumber()); 

     fw.write(message); 

     fw.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
0

Ihr Code funktioniert einwandfrei. Sie müssen "\ n" am Anfang Ihrer Schreibfunktion verwenden, wenn Sie diese Zeile von einer neuen Zeile aus starten möchten. versuchen, diese modifizierte Code kann es Dinge klar für Sie machen:

try { 

    FileWriter ac = new FileWriter("Transactions.txt",true); 
    BufferedWriter fw = new BufferedWriter(ac); 
    fw.write("\nThis is new line"); 
    fw.write("\nYou have chosen the following amount:" + String.valueOf("23")+ "\n" + " the number:"+"Is the chosen number"); 
    fw.close(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

bekam ich diese Ausgabe für diesen Code:

This is new line 
You have chosen the following amount:23 
    the number:Is the chosen number 
Verwandte Themen