2016-04-23 8 views
0

ファイルを作成するときに出力関数が改行を受け取っていないのはなぜか分かりません。私は、コマンドラインに印刷するときFileWriterは新しい行を追加しません

private void outputToFile(){ 
    final JFileChooser fc = new JFileChooser(); 
    fc.setSelectedFile(new File("frequency.txt")); 
    int returnVal = fc.showSaveDialog(null); 
    File file = fc.getSelectedFile(); 
    try{ 
     FileWriter writer = new FileWriter(file); 
     String out = this.toString(); 
     writer.append(out); 
     writer.flush(); 
     writer.close(); 
    } 
    catch(IOException e){ 
     System.out.println("Cancelled and aborted"); 
    } 
    } 

私のtoStringメソッドが正常に動作しますが、ファイル出力に\ nのすべてのインスタンスをドロップします。ここでは、コードです。ここで、この関数からサンプル "壊れた" 出力(これは周波数カウンタである)である

出力ファイル: Q:5 \ N:7 C:1 :5 T:6 S:3 (スペース):6 R:1 E:4 C:1 O:2 L:3 :2 W:1 、:1 時間:4 「:1 W:1 y:3 \ t:1 R: 1 I:1 グラム:1 :?1 B:1 :!1

あり、各番号の後に新しい行があるはずです。

あなたは私のクラスの完全なグループをしたい場合は、ここで彼らは、次のとおりです。ファイルを書き込むときhttp://pastebin.com/CCLLBUqF

答えて

1

、あなたが改行と改行文字の両方を含める必要があります。 だから、あなたは"\n"改行を追加するには、toString()方法、代わりに改行と改行の両方を追加するには:"\r\n"

+0

理想的には、はSystem.getProperty(「line.separator」)を使用する必要があります。プラットフォームに依存する行分離文字の代わりに – Natecat

+0

Hm。私は "\ r"とSystem.getpropertyメソッドの両方を使ってみましたが、どちらも失敗しました。 \ rは何も変更せず、System.getPropertyはどこにでも "null"を追加しました。 – MegaZeroX

+0

心配しないでください。私が\ r \ nで注文に変更したときにうまくいった。どうもありがとうございます! – MegaZeroX

関連する問題