设置以Java结尾的默认行



我在多平台环境(Windows+Linux)中使用Java。然而,无论我们生成什么文本文件,都应该使用LF作为它们的EOL序列。

有没有一种方法可以强制Java使用这个EOL序列,而不管我在哪个平台上运行程序?我不想更改整个程序,即对System.out.println和类似函数的所有调用都应该保持原样,只有函数末尾的*ln应该始终输出"0x0A",而不是"0x0D 0x0A"。

我可以想出两种不同的方法来做到这一点,但我不知道哪一种是否可行:

  1. 覆盖依赖于平台的默认EOL序列
  2. 即使我在DOS命令行上运行程序,也要让Java相信我在运行Linux

这些可能吗?或者其他什么?

您可以尝试设置相应的系统属性,如System.setProperty("line.separator", "something you need");(也可以通过JVM的命令行参数来实现)

或者,您可以使用printlnprint insetad,并在需要的地方打印换行字符("r"、"\n"或它们的组合)。

看看这个和这个。如果你把这些放在一起,你会发现System.setProperty("line.separator", "n");可能会解决你的问题。

虽然还没有测试过,这就是我添加链接的原因,所以你可以自己检查。

相关内容

  • 没有找到相关文章

最新更新