2008-10-16 11 views

ответ

333

В дополнение к свойству 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 ^^ 

Для получения более подробной информации см. Java 1.8 API for Formatter.

+6

Спасибо! Я уверен, что System.getProperty («line.separator»); имеет свое применение, но я устал видеть: «Строка 1» + System.getProperty («line.separator») + «Строка 2» – Buttons840 2011-08-26 22:02:38

+34

Ой, «Линия 1» + System.getProperty («line.separator») + «Линия 2» - действительно одна из самых уродливых вещей, которые я когда-либо видел. Просто объявление константы в другом месте было бы менее болезненным. – abahgat 2011-12-16 10:56:01

+4

это не работает, по крайней мере, со строкой, входящей в оператор log4j. Создание примера с новой строкой в ​​конце потенциально скрывает проблему. Кроме того, String s2 просто запутывается, используя «%% n» – 2013-05-10 15:02:05

618

Вы можете использовать

System.getProperty("line.separator"); 

получить Изолятор линии

41

Если вы пытаетесь написать новую строку в файле, вы можете просто использовать метод newLine() BufferedWriter.

11

Используйте метод newLine() класса BufferedWriter, который обеспечивает платформу самостоятельный путь, чтобы написать новую строку в файле

0

Избегайте добавления строк с помощью 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(); 
25

Это также возможно: String.format("%n").

Или String.format("%n").intern(), чтобы сэкономить несколько байт.

7
StringBuilder newLine=new StringBuilder(); 
newLine.append("abc"); 
newline.append(System.getProperty("line.separator")); 
newline.append("def"); 
String output=newline.toString(); 

Вышеприведенный фрагмент будет иметь две строки, разделенные новой линией независимо от платформ.