我正在尝试使用apache FileUtils.writeLines()来逐行编写文件
当我尝试打开文件(记事本++,editplus)时,它没有换行符
(我发送null给编码)
感谢。
FileUtils.writeLines(new File(INDICES_AND_WEIGHTS_FILENAME), indicesAndWeightsParams.indicesParams,";");
其中indicesParams是列表
public List indicesParams;
答案 0 :(得分:2)
确定您呼叫的writeLines()
版本。有一个版本允许您指定行结尾。如果你在那里传递一个空字符串,你就不会得到任何字符串:
public static void writeLines(File file, Collection<String> lines, String lineEnding) throws IOException {
编码总是在文件和集合之间,行分隔符始终是最后一个参数。
答案 1 :(得分:1)
您使用的代码与此类似吗?
List<String> ls = new ArrayList<String>();
ls.add("aaa");
ls.add("bbbbb");
FileUtils.writeLines(new File("newfile.txt"), "UTF-8", ls); // same effect as with "null" as encoding
在此代码之后,newFile.txt
确实有换行符。
使用od -a newfile.txt
生成(在Windows上):
0000000 a a a cr nl b b b b b cr nl
0000014
表明新行确实存在。
答案 2 :(得分:1)
只需在需要休息的地方添加“\ r \ n”。