it-swarm.com.de

Wie erhalte ich einen plattformabhängigen Zeilenumbruch?

Wie bekomme ich eine plattformabhängige Newline in Java? Ich kann "\n" nicht überall verwenden.

524
Spoike

Zusätzlich zur Eigenschaft line.separator, wenn Sie Java 1.5 oder höher und das String.format (oder ein anderes Formatierungsmethoden können Sie %n wie in verwenden

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   ^^

Weitere Informationen finden Sie in Java 1.8 API for Formatter .

357
Alex B

Java 7 hat jetzt eine System.lineSeparator() Methode.

672

Sie können verwenden

System.getProperty("line.separator");

um den Zeilentrenner zu bekommen

644
abahgat

Wenn Sie versuchen, eine neue Zeile in eine Datei zu schreiben, können Sie einfach die newLine () -Methode von BufferedWriter verwenden.

43
Michael Myers

Dies ist auch möglich: String.format("%n").

Oder String.format("%n").intern(), um einige Bytes zu speichern.

29
ceving

In der Bibliothek commons-lang steht ein konstantes Feld mit dem Namen SystemUtils.LINE_SEPARATOR zur Verfügung

22
lexicalscope

Wenn Sie mit einer BufferedWriter -Instanz in eine Datei schreiben, verwenden Sie die newLine() -Methode dieser Instanz. Es bietet eine plattformunabhängige Möglichkeit, die neue Zeile in eine Datei zu schreiben.

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

Das obige Snippet enthält unabhängig von den Plattformen zwei durch eine neue Linie getrennte Zeichenfolgen.