java - FileWriter 不会追加新行

标签 java newline jfilechooser filewriter swingx

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

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 中:1 答:5 时间:6 秒:3 (空格):6 : 1 电子:4 丙:1 ○:2 升:3 .: 2 宽:1 ,: 1 小时:4 ':1 宽:1 y:3 \t:1 回复:1 我:1 克数:1 ?:1 乙:1 !: 1

每个数字后面应该有新行。

如果您想要我的全部类(class),请点击:http://pastebin.com/CCLLBUqF

最佳答案

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

关于java - FileWriter 不会追加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36817719/

相关文章:

java - 如何在java中程序继续运行之前等待事件完成

java - 创建 JFileChooser 对话框时如何选择默认的 FileFilter?

java - 请解释一下下面的代码

Javascript 用 "\r\n"替换换行符 ASCII (13) 的所有实例?

c++ - "\n"与 '\n' 效率

java - 响应式(Reactive)应用程序中的 Spring Cache

java - 如何在Spring Retry中打开和关闭@Recover方法?

git - 如何阻止 Git 在本地文件中插入回车符?

java - 如何按第二个词对列表进行排序?

java - 在经常访问的家庭 Activity 中初始化 'MobileAds.initialize'?