Frage

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

War es hilfreich?

Lösung

Neben der line.separator Eigenschaft, wenn Sie mit Java 1.5 oder höher und die String.format (oder einer anderen Formatierung Methoden) Sie verwenden können %n als in

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

Sehen Sie die Java 1.8 API für Formatter für weitere Details.

Andere Tipps

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

Sie können mit

System.getProperty("line.separator");

die Linie Separator erhalten

Wenn Sie versuchen, eine neue Zeile in eine Datei zu schreiben, könnten Sie einfach BufferedWriter der newLine ( Methode).

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

oder String.format("%n").intern() einige Bytes zu speichern.

Die commons-lang Bibliothek hat ein konstantes Feld zur Verfügung genannt SystemUtils.LINE_SEPARATOR

Wenn Sie in eine Datei schreiben, eine BufferedWriter Instanz, verwenden Sie die newLine() Methode dieser Instanz. Es bietet eine Plattform-unabhängige Art und Weise die neue Zeile in einer Datei zu schreiben.

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

Die obige Snippet haben zwei Strings durch eine neue Zeile unabhängig von Plattformen getrennt.

Vermeiden Sie

Anhängen von Strings String + String usw. verwenden String statt.

String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top