Platform Specific Line Separator in Java

 The line separator is the name given to the character or characters used to separate lines of text, and vary from platform to platform. On Windows, it is the CR character (carriage return) followed by the LF character (linefeed), which is \r\n. On UNIX, it is the LF character alone, often referred to as the newline character.

Although the output may look the same to the naked eye through command prompt or eclipse, it could easily cause problems if it were saved in a file or piped to another program for subsequent processing.

You can use printf with the format string "%n". Each occurrence of the characters %n will cause printf to print the appropriate platform-specific line separator.

System.out.printf("%n");

The "%n" specifier doesn't correspond to an argument, unlike most specifiers in printf.

Similarly you can use String.format() instead of printf() to get the platform specific line separator.

You can also use System.getProperty() to get the line separator.

System.getProperty("line.separator");

Java 7 now has a method specific for this purpose:

System.lineSeparator()

If you're trying to write a newline to a file, you could simply even use BufferedWriter's newLine() method. 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)