Antworten:
Wenn Sie Java 1.5 oder höher und das String.format (oder andere Formatierungsmethoden ) verwenden, können Sie zusätzlich zur Eigenschaft line.separator%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 der Java 1.8-API für Formatierer .
%
Benutzereingaben enthält!
String.format(s + "%n")
ist leicht zu lösen durch String.format("%s%n", s)
. Es ist immer riskant, Benutzereingaben als Formatkörper einzubeziehen (auf die gleiche Weise wie eval()
).
Java 7 hat jetzt eine System.lineSeparator()
Methode.
lineSeperator(int)
bestimmte Anzahl von Leitungsseparatoren zurückgibt, da ich häufig 2 gleichzeitig verwende.
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Wenn Sie versuchen, eine neue Zeile in eine Datei zu schreiben, können Sie einfach die newLine () -Methode von BufferedWriter verwenden.
Dies ist auch möglich : String.format("%n")
.
Oder String.format("%n").intern()
um einige Bytes zu speichern.
\r\n
In der commons-lang- Bibliothek steht ein konstantes Feld mit dem Namen SystemUtils.LINE_SEPARATOR zur Verfügung
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 zwei Zeichenfolgen, die unabhängig von den Plattformen durch eine neue Zeile getrennt sind.
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.
Vermeiden Sie das Anhängen von Zeichenfolgen mit String + String usw., und verwenden Sie stattdessen 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
" erheben .