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:
Is any of this possible? Or something else perhaps?
Whereas Windows follows the original convention of a carriage return plus a line feed ( CRLF ) for line endings, operating systems like Linux and Mac use only the line feed ( LF ) character. The history of these two control characters dates back to the era of the typewriter.
On Windows, line-endings are terminated with a combination of a carriage return (ASCII 0x0d or \r) and a newline(\n), also referred to as CR/LF. On the Mac Classic (Mac systems using any system prior to Mac OS X), line-endings are terminated with a single carriage return (\r or CR). (Mac OS X uses the UNIX convention.)
DOS uses carriage return and line feed ("\r\n") as a line ending, which Unix uses just line feed ("\n"). You need to be careful about transferring files between Windows machines and Unix machines to make sure the line endings are translated properly.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With