Как получить зависящую от платформы новую строку в Java? Я не могу использовать "\n" всюду.
Как получить зависимый от платформы новый символ линии?
Ответ 1
В дополнение к свойству line.separator, если вы используете java 1.5 или новее и  String.format (или другие методы  форматирования), вы можете использовать %n как в
Calendar c = ...;
String s = String.format("Duke Birthday: %1$tm %1$te,%1$tY%n", c); 
//Note `%n` at end of line                                  ^^
String s2 = String.format("Use %%n as a platform independent newline.%n"); 
//         %% becomes %        ^^
//                                        and `%n` becomes newline   ^^
Подробнее см. API Java 1.8 для Formatter.
Ответ 2
Вы можете использовать
System.getProperty("line.separator");
чтобы получить разделитель строк
Ответ 3
В Java 7 теперь есть метод System.lineSeparator().
Ответ 4
Если вы пытаетесь написать новую строку в файле, вы можете просто использовать метод BufferedWriter newLine().
Ответ 5
Это также возможно: String.format("%n").
Или String.format("%n").intern() для сохранения нескольких байтов.
Ответ 6
Библиотека commons-lang имеет постоянное поле, доступное под названием SystemUtils.LINE_SEPARATOR
Ответ 7
 Если вы пишете файл, используя экземпляр BufferedWriter, используйте метод newLine() этого экземпляра. Он обеспечивает независимый от платформы способ записи новой строки в файл.
Ответ 8
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Вышеприведенный фрагмент будет иметь две строки, разделенные новой строкой независимо от платформ.
Ответ 9
Избегайте добавления строк с помощью String + String и т.д. Вместо этого используйте StringBuilder.
String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
