• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

的BufferedWriter行分隔符变为双线分隔

java 来源:DxHito 9次浏览
BufferedWriter bw = new BufferedWriter(new FileWriter("test.csv", true)); 
bw.append(System.lineSeparator()); 
bw.append("Text after writing")); 

上面的代码将导致以下:的BufferedWriter行分隔符变为双线分隔

Text already in file before writing 

Text after writing 

没有System.lineSeparator(),它将成为:

Text already in file before writingText after writing 

我要的是:

Text already in file before writing 
Text after writing 

我有tr ied \ n和bw.newLine(),但都给出了相同的结果。为什么会留下2行,以及如何避免它?


===========解决方案如下:

刚刚试过你的代码,它按预期工作。

代码

try (BufferedWriter bw = new BufferedWriter(new FileWriter("test.csv", true))) { 

    bw.append("Text after writing"); 
    bw.append(System.lineSeparator()); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

test.csv前:

1. Text already in file before writing 
2. Text after writing 

可能:后

1. Text already in file before writing 

test.csv您正在编辑的文件已经以新行结束。你可以考虑在追加前检查。

注:为简化代码,使用了try-with-resource。

注:测试:jre1.8.0_77中,Win7(64位)


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)