Risposte:
Oltre alla proprietà line.separator, se si utilizza java 1.5 o versione successiva e String.format (o altri metodi di formattazione ) è possibile utilizzare %n
come 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 ^^
Vedi l' API Java 1.8 per Formatter per maggiori dettagli.
%
input dell'utente!
String.format(s + "%n")
è facilmente risolvibile String.format("%s%n", s)
. È sempre rischioso coinvolgere l'input dell'utente come corpo del formato (allo stesso modo di eval()
).
Java 7 ora ha un System.lineSeparator()
metodo.
lineSeperator(int)
che restituisse un certo numero di separatori di linea, come spesso mi ritrovo a usare 2 contemporaneamente.
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Se stai cercando di scrivere una nuova riga in un file, puoi semplicemente usare il metodo newLine () di BufferedWriter .
Anche questo è possibile: String.format("%n")
.
O String.format("%n").intern()
per salvare alcuni byte.
\r\n
La libreria commons-lang ha un campo costante disponibile chiamato SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Lo snippet sopra avrà due stringhe separate da una nuova linea indipendentemente dalle piattaforme.
Se stai scrivendo su un file, usando BufferedWriter
un'istanza, usa il newLine()
metodo di quell'istanza. Fornisce un modo indipendente dalla piattaforma per scrivere la nuova riga in un file.
Evita di aggiungere stringhe usando String + String ecc., Usa invece 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
".