FileWriter 不会追加新行

FileWriter won't append new lines

我不确定为什么我的输出函数在创建文件时没有选择换行符。这是代码:

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 的所有实例。这是此函数的示例 "broken" 输出(这是一个频率计数器)

输出文件: 问:5 \n: 7 中:1 一个:5 吨:6 小号:3 (space): 6 r: 1 电子:4 丙:1 Ø:2 我:3 .: 2 女:1 ,: 1 小时:4 ':1 宽:1 是:3 \t: 1 回复: 1 我:1 克:1 ?:1 乙:1 !: 1

每个数字后应该有新行。

如果你想要我的 类 的完整组,他们是:http://pastebin.com/CCLLBUqF

写入文件时,需要同时包含换行符和换行符。 因此,在您的 toString() 方法中,您添加 "\n" 换行符,而不是同时添加换行符和换行符: "\r\n"