6

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

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

我可以想到两种不同的方法,但我不知道是否有一种可能:

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

这有可能吗?或者别的什么?

4

2 回答 2

2

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

或者,也许,您可以在需要的地方使用printinsetad ofprintln和打印换行符("\r"、 "\n" 或其组合)。

于 2012-04-04T15:01:23.717 回答
1

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

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

于 2012-04-04T15:04:07.960 回答