设置以Java结尾的默认行

时间:2012-04-04 14:53:25

标签: java newline eol lf

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

有没有办法可以强制Java使用这个EOL序列,无论我在运行程序的平台上怎么办?我不想改变整个程序,即所有对System.out.println和类似程序的调用应保持原样,只有函数末尾的* ln应该总是输出“0x0A”并且永远不会“ 0x0D 0x0A“。

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

  1. 覆盖与平台相关的默认EOL序列
  2. 让Java相信我正在运行Linux,即使我在DOS命令行上运行我的程序
  3. 这有可能吗?或者别的什么呢?

2 个答案:

答案 0 :(得分:2)

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

或者,也许,您可以使用print的{​​{1}}插入内容,并在您需要的位置打印换行符(println,“\ n”或其组合)。

答案 1 :(得分:1)

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

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