2016-04-23 65 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所有實例文件輸出。下面是此功能的 「破」 輸出樣本(這是頻率計數器)

輸出文件: 問:5 \ N:7 C:1 一個:5 噸:6個 S:3 (空間):6 R:1 E:4- C:1 ○:2 1:3 :2 寬:1 ,:1 H:4 「:1 瓦特:1 y:3 \ t:1 R: 1 我:1 G:1 :1 B:1 :1

應該有每個號碼出現後,新的生產線。

如果你想整組我的班,在這裏,他們是:http://pastebin.com/CCLLBUqF

回答

1

當寫入文件時,你需要同時包含一個換行符和換行字符。 所以,在你toString()方法,在其中添加了"\n"換行,而不是同時添加換行和換行符:"\r\n"

+0

理想情況下,你應該應該使用System.getProperty(「line.separator」);而不是依賴於平臺的行選擇器字符 – Natecat

+0

嗯。我嘗試使用「\ r」和System.getproperty方法,都失敗了。 \ r並沒有改變任何東西,並且System.getProperty在每個地方都添加了「null」。 – MegaZeroX

+0

沒關係。當我使用\ r \ n將其更改爲訂單時,它起作用。非常感謝! – MegaZeroX