Set default line ending in Java

谁说我不能喝 提交于 2019-12-04 22:45:55

问题


I'm working with Java in a multi-platform environment (Windows + Linux). Whatever text files we produce, however, should use LF as their EOL sequence.

Is there a way I can force Java to use this EOL sequence regardless on the platform I'm running a program on? I'd like not to have to change the whole program, i.e. all calls to System.out.println and similar should be kept as is, only the *ln at the end of the function should always output an "0x0A" and never "0x0D 0x0A".

I could think of two different ways of doing that, but I don't know if either one is possible:

  1. override the platform-dependent default EOL sequence
  2. make Java believe I'm running Linux even when I run my program on the DOS command line

Is any of this possible? Or something else perhaps?


回答1:


You can try setting the corresponding system property like System.setProperty("line.separator", "something you need"); (It can also be achieved throug command-line parameters to JVM)

Or, maybe, you can use print insetad of println and print line-breaking characters ("\r", "\n" or their combination) where you need it.




回答2:


Have a look at this and this. If you put those together, you'll find out that System.setProperty("line.separator", "\n"); may solve your problem.

Haven't tested it though, that's why I added the links, so you can check for yourself.



来源:https://stackoverflow.com/questions/10013665/set-default-line-ending-in-java

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!