我想用JAVA写文件
示例:
FileUtils.writeLines(new File(baseFolder.getAbsolutePath() + File.separatorChar + filename), data);
我正在使用Apache FileUtils.writeLines
,但它始终位于UTF-8
而不是ANSI
,新行位于LF
而不是CR LF
?
服务器Linux
而非Windows
答案 0 :(得分:3)
使用正确顺序的参数调用writeLines
的适当重载:
public static void writeLines(File file, String encoding, Collection<?> lines, String lineEnding) throws IOException
e.g。
FileUtils.writeLines(
new File(baseFolder.getAbsolutePath(), filename),
"Cp1252",
data,
"\r\n");
请注意,根据this answer,Windows ANSI实际上并未在Java中调用Cp1252
。
您将编码作为最后一个参数传递给this overload,这实际上是行结束参数。
public static void writeLines(File file, Collection<?> lines, String lineEnding) throws IOException