ANSI 格式的 Java FileUtils.writeLines,换行为 CR LF



我想用 JAVA 写文件

  • 编码 : ANSI
  • 新行:华润低频

例:

FileUtils.writeLines(new File(baseFolder.getAbsolutePath() + File.separatorChar + filename), data);

我正在使用Apache FileUtils.writeLines但它总是在UTF-8而不是ANSI和换行中,因为LF而不是CR LF

服务器LinuxWindows

调用适当的重载 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

最新更新