如何使用\n
选择Unix行尾java.nio.file.Files.write
?
可能吗?
我没有找到任何选项或常数被选中。
这是我的方法
import java.io.File;
//...
public void saveToFile(String absolutePath) {
File file = new File(path);
try {
Files.write(file.toPath(), lines/*List<String>*/, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.APPEND);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
答案 0 :(得分:1)
你真的没有其他选择,只能打开文件BufferedWriter
并手写:
try (
final BufferedWriter writer = Files.newBufferedWriter(file.toPath(),
StandardCharsets.UTF_8, StandardOpenOption.APPEND);
) {
for (final String line: lines) {
writer.write(line);
writer.write('\n');
}
// Not compulsory, but...
writer.flush();
}
(或者像@SubOptimal所说的那样;你的选择!)
答案 1 :(得分:1)
您可以覆盖line.separator
属性
System.setProperty("line.separator", "\n");
PRO :您也可以在非UNIX环境中将Files.write(...
与UNIX线路端一起使用
CON :更改此属性很可能会产生意外的副作用
或者你在循环中写下这些行。