2016-03-22 2 views
1

テキストファイルを開いたときに私のステートメントを新しい行に表示しようとしていますが、 "\ n"を使いましたが運がありません。私のコードは以下の通りです: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(); 
    } 

今それだけで長蛇の列に表示され、どのように私は情報が新しい行にで表示させることができますか?

+1

テキストファイルはどのように開いていますか?メモ帳のようなプログラムは常に新しい行を尊重するとは限りません。 – azurefrog

+0

あなたの質問に 'ioexception'というタグが付いていることがわかりますが、あなたがプログラムを走らせるときにはioexceptionを得ることは言及されていません。どんな例外がありますか?存在しない場合は、タグを削除する必要があります。 – azurefrog

+2

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

答えて

1

()を使用すると、プラットフォームに依存しないよう%nを使用することができますキャリッジリターンの記号は、 %dは整数で、 %sは文字列です。 "..."内のメッセージは、後に同じ順序で指定された値で埋められます。

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

コードは正常に動作します。新しい行からその行を開始するには、書込み関数の先頭に "\ n"を使用する必要があります。この修正されたコードは、それはあなたのために物事が明確になりかもしれ試してみてください。

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(); 
} 

私はこのコードのために、この出力ました:String.Formatので

This is new line 
You have chosen the following amount:23 
    the number:Is the chosen number 
関連する問題