¿Cómo obtengo una nueva línea dependiente de la plataforma en Java? No puedo usar en "\n"
todas partes.
java
cross-platform
newline
eol
Spoike
fuente
fuente
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 enConsulte la API de Java 1.8 para Formatter para obtener más detalles.
fuente
%
del usuario!String.format(s + "%n")
se resuelve fácilmenteString.format("%s%n", s)
. Siempre es arriesgado involucrar la entrada del usuario como cuerpo del formato (de la misma manera queeval()
).Java 7 ahora tiene un
System.lineSeparator()
método.fuente
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)
Puedes usar
para obtener el separador de línea
fuente
System.lineSeparator()
detalles de Java 7, así que aquí hay una respuesta definitiva a esta pregunta?Si está intentando escribir una nueva línea en un archivo, simplemente puede usar el método newLine () de BufferedWriter .
fuente
Esto también es posible:
String.format("%n")
.O
String.format("%n").intern()
para guardar algunos bytes.fuente
notepad
no es la herramienta adecuada para ver el contenido de un archivo. Usehexdump
ood
.\r\n
La biblioteca commons-lang tiene un campo constante disponible llamado SystemUtils.LINE_SEPARATOR
fuente
El fragmento anterior tendrá dos cadenas separadas por una nueva línea independientemente de las plataformas.
fuente
Si está escribiendo en un archivo, usando una
BufferedWriter
instancia, use elnewLine()
método de esa instancia. Proporciona una forma independiente de la plataforma para escribir la nueva línea en un archivo.fuente
Evite agregar cadenas usando String + String, etc., use StringBuilder en su lugar.
fuente
string + string
".