设置以Java结尾的默认行
我在多平台环境(Windows + Linux)中使用Java。 但是,无论我们生成什么文本文件,都应使用LF作为其EOL序列。
有没有办法可以强制Java使用这个EOL序列,无论我在运行程序的平台上怎么办? 我不想改变整个程序,即所有对System.out.println和类似程序的调用应保持原样,只有函数末尾的* ln应该总是输出“0x0A”并且永远不会“ 0x0D 0x0A“。
我可以想到两种不同的方法,但我不知道是否有可能:
- 覆盖与平台相关的默认EOL序列
- 让Java相信即使我在DOS命令行上运行程序,我也在运行Linux
这有可能吗? 还是其他什么呢?
您可以尝试设置相应的系统属性,如System.setProperty("line.separator", "something you need");
(它也可以通过命令行参数实现到JVM)
或者,也许您可以使用println
print
insetad并在需要的地方打印换行符( "\r"
,“\ n”或它们的组合)。
看看这个和这个 。 如果你把它们放在一起,你会发现System.setProperty("line.separator", "\n");
可以解决你的问题。
虽然没有测试过,这就是我添加链接的原因,所以你可以自己检查一下。