我不确定为什么我的输出函数在创建文件时没有拾取换行符。这是代码:
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/