我想用 JAVA 写文件
- 编码 : ANSI
- 新行:华润低频
例:
FileUtils.writeLines(new File(baseFolder.getAbsolutePath() + File.separatorChar + filename), data);
我正在使用Apache FileUtils.writeLines
但它总是在UTF-8
而不是ANSI
和换行中,因为LF
而不是CR LF
?
服务器Linux
未Windows
调用适当的重载 writeLines
,参数顺序正确:
public static void writeLines(File file, String encoding, Collection<?> lines, String lineEnding) throws IOException
例如
FileUtils.writeLines(
new File(baseFolder.getAbsolutePath(), filename),
"Cp1252",
data,
"rn");
请注意,根据这个答案,Windows ANSI实际上在Java中被称为Cp1252
。
您将编码作为最后一个参数传递给此重载,这实际上是行结束参数。
public static void writeLines(File file, Collection<?> lines, String lineEnding) throws IOException