Ответы:
В дополнение к свойству line.separator, если вы используете Java 1.5 или более позднюю версию и String.format (или другие методы форматирования ), вы можете использовать %n
как в
Calendar c = ...;
String s = String.format("Duke's 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 для получения дополнительной информации.
%
пользовательский ввод!
String.format(s + "%n")
легко решается String.format("%s%n", s)
. Всегда рискованно включать пользовательский ввод в качестве тела формата (так же, как eval()
).
У Java 7 теперь есть System.lineSeparator()
метод.
lineSeperator(int)
который возвращает некоторое количество разделителей строк, поскольку я часто использую 2 сразу.
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Если вы пытаетесь записать новую строку в файл, вы можете просто использовать метод BufferedWriter newLine () .
Это также возможно: String.format("%n")
.
Или String.format("%n").intern()
сохранить несколько байтов.
\r\n
Библиотека commons-lang имеет постоянное доступное поле с именем SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Вышеупомянутый фрагмент будет иметь две строки, разделенные новой строкой, независимо от платформы.
Если вы пишете в файл, используя BufferedWriter
экземпляр, используйте newLine()
метод этого экземпляра. Он обеспечивает независимый от платформы способ записи новой строки в файл.
Избегайте добавления строк с использованием 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( );
string + string
».