在java中创建文本文件并以unix格式保存

Piy*_*ush 6 java unix

我需要编写java代码才能在Unix环境中进行文件操作.由于我需要处理文件,如何在Java中以Unix格式创建和保存文件?

dim*_*414 4

“Unix 格式”只是一个文本文件,表示行结尾\n而不是\n\r(Windows) 或\r(OSX 之前的 Mac)。

这是基本思想;编写每一行,后跟显式的\n(而不是.newLine()依赖于平台的):

public static void writeText(String[] text){
  Path file = Paths.get("/tmp/filename");
  try (BufferedWriter bw = Files.newBufferedWriter(file, StandardCharsets.UTF_8)) {
    for(String s : text){
      bw.write(s);
      bw.write("\n");
    }
  } catch (IOException e) {
    System.err.println("Failed to write to "+file);
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 不要使用 `\n` 或 `\r\n`,而是使用 `System.getProperty("line.separator")`。 (4认同)
  • @Eng.Fouad 一般来说,是的,但是如果你想要一个 Unix 格式的文件,无论你在什么操作系统上,你都需要显式地使用 '\n' 。获取系统的行分隔符意味着您将获得不同的行为,具体取决于运行程序的操作系统。 (2认同)