Respuestas:
Además de la propiedad line.separator, si está utilizando java 1.5 o posterior y String.format (u otros métodos de formato ) puede usar %n
como en
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 ^^
Consulte la API de Java 1.8 para Formatter para obtener más detalles.
%
del usuario!
String.format(s + "%n")
se resuelve fácilmente String.format("%s%n", s)
. Siempre es arriesgado involucrar la entrada del usuario como cuerpo del formato (de la misma manera que eval()
).
Java 7 ahora tiene un System.lineSeparator()
método.
lineSeperator(int)
que devuelva una cierta cantidad de separadores de línea, ya que a menudo me encuentro usando 2 a la vez.
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Si está intentando escribir una nueva línea en un archivo, simplemente puede usar el método newLine () de BufferedWriter .
Esto también es posible: String.format("%n")
.
O String.format("%n").intern()
para guardar algunos bytes.
\r\n
La biblioteca commons-lang tiene un campo constante disponible llamado SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
El fragmento anterior tendrá dos cadenas separadas por una nueva línea independientemente de las plataformas.
Si está escribiendo en un archivo, usando una BufferedWriter
instancia, use el newLine()
método de esa instancia. Proporciona una forma independiente de la plataforma para escribir la nueva línea en un archivo.
Evite agregar cadenas usando String + String, etc., use StringBuilder en su lugar.
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
".