1. Información general
El formato de cadena y la generación de salida de texto a menudo surgen durante la programación. En muchos casos, es necesario agregar una nueva línea a una cadena para formatear la salida.
Analicemos cómo usar caracteres de nueva línea.
2. Agregar caracteres de nueva línea en una cadena
Los sistemas operativos tienen caracteres especiales que indican el inicio de una nueva línea. Por ejemplo, en Linux, una nueva línea se indica con “ \ n” , también llamada Line Feed . En Windows, una nueva línea se indica con " \ r \ n" , a veces llamado retorno de carro y avance de línea , o CRLF .
Agregar una nueva línea en Java es tan simple como incluir “ \ n” , “ \ r” o “ \ r \ n” al final de nuestra cadena.
2.1. Uso de saltos de línea CRLF
Para este ejemplo, queremos crear un párrafo usando dos líneas de texto. Específicamente, queremos que la línea 2 aparezca en una nueva línea después de la línea 1 .
Para un sistema operativo Unix / Linux / New Mac, podemos usar " \ n":
String line1 = "Humpty Dumpty sat on a wall."; String line2 = "Humpty Dumpty had a great fall."; String rhyme = line1 + "\n" + line2;
Si estamos en un sistema operativo basado en Windows, podemos usar " \ r \ n":
rhyme = line1 + "\r\n" + line2;
Para un sistema operativo antiguo basado en Mac, podemos usar " \ r":
rhyme = line1 + "\r" + line2;
Hemos demostrado tres métodos para agregar una nueva línea, pero desafortunadamente, dependen de la plataforma.
2.2. Uso de separadores de línea independientes de la plataforma
Podemos usar constantes definidas por el sistema cuando queremos que nuestro código sea independiente de la plataforma.
Por ejemplo, usando System.lineSeparator () para dar un separador de línea:
rhyme = line1 + System.lineSeparator() + line2;
O también podríamos usar System.getProperty ("line.separator") :
rhyme = line1 + System.getProperty("line.separator") + line2;
2.3. Uso de caracteres de nueva línea independientes de la plataforma
Aunque los separadores de línea brindan independencia de la plataforma, nos obligan a concatenar nuestras cadenas.
Si estamos usando algo como System.out.printf o String.format , entonces el carácter de nueva línea independiente de la plataforma, % n , se puede usar directamente dentro de una cadena :
rhyme = "Humpty Dumpty sat on a wall.%nHumpty Dumpty had a great fall.";
Esto es lo mismo que incluir System.lineSeparator () dentro de nuestra cadena, pero no es necesario dividir la cadena en varias partes.
3. Agregar caracteres de nueva línea en una página HTML
Supongamos que estamos creando una cadena que forma parte de una página HTML. En ese caso, podemos agregar una etiqueta de interrupción HTML
También podemos utilizar caracteres Unicode "& # 13;" (Retorno de carro) y "& # 10;" (Linea de alimentación). Aunque estos personajes funcionan, no funcionan exactamente como podríamos esperar en todas las plataformas. En cambio, es mejor usar
Además, podemos usar "\ n" en algunos elementos HTML para romper una línea.
En general, estos son los tres métodos para romper una línea en HTML. Podemos decidir cuál usar dependiendo de la etiqueta HTML que estemos usando.
3.1. Etiqueta de rotura HTML
Podemos usar etiqueta de rotura HTML
rhyme = line1 + "
" + line2;
los
La etiqueta para romper una línea funciona en casi todos los elementos HTML como ,
,
, etc. Sin embargo, tenga en cuenta que no funciona en el etiqueta.3.2. Personaje de nueva línea
Podemos usar '\ n' para romper una línea si el texto está encerrado en
o etiqueta:rhyme = line1 + "\n" + line2;
3.3. Caracteres Unicode
Finalmente, podemos usar caracteres Unicode "& # 13;" (Retorno de carro) y "& # 10;" (Alimentación de línea) para romper una línea. Por ejemplo, en el etiqueta podemos usar cualquiera de estos:
rhyme = line1 + " " + line2; rhyme = line1 + " " + line2;
Para el
etiqueta, ambas líneas a continuación funcionarán:rhyme = line1 + " " + line2; rhyme = line1 + " " + line2;
4. La diferencia entre \ n y \ r
\ r y \ n son caracteres indicados con valores ASCII de 13 (CR) y 10 (LF), respectivamente. Ambos representan una ruptura entre dos líneas , pero los sistemas operativos los usan de manera diferente.
On Windows, a sequence of two characters is used to start a new line, CR immediately followed by LF. Conversely, on Unix-like systems, only LF is used.
When writing Java applications, we must pay attention to the line break characters we use because the applications will behave differently depending on the operating system they will run on.
The safest and most cross-compatible option is to use System.lineSeparator(). This way, we won't have to take the operating system into account.
5. Conclusion
In this article, we discussed how to add newline characters to a string in Java.
We also saw how to write platform independent code for a new line using System.lineSeparator() and System.getProperty(“line.separator”).
Finally, we wrapped up with how to add a new line in case we are generating an HTML page.
The full implementation of this article can be found over on GitHub.