Adăugarea unui caracter Newline la un șir în Java

1. Prezentare generală

Formatarea șirurilor și generarea textului apare deseori în timpul programării. În multe cazuri, este nevoie să adăugați o nouă linie la un șir pentru a formata ieșirea.

Să discutăm despre cum să utilizați caractere newline.

2. Adăugarea de caractere Newline într-un șir

Sistemele de operare au caractere speciale care denotă începutul unei noi linii. De exemplu, în Linux o nouă linie este notată cu „ \ n” , numită și Linie Feed . În Windows, o nouă linie este notată folosind „ \ r \ n” , uneori numită Carriage Return și Line Feed , sau CRLF .

Adăugarea unei noi linii în Java este la fel de simplă precum includerea „ \ n” , „ \ r” sau „ \ r \ n” la sfârșitul șirului nostru.

2.1. Utilizarea CRLF Line-Breaks

Pentru acest exemplu, dorim să creăm un paragraf folosind două rânduri de text. Mai exact, dorim ca linia 2 să apară într-o nouă linie după linia 1 .

Pentru un sistem de operare Unix / Linux / nou Mac, putem folosi „ \ n”:

String line1 = "Humpty Dumpty sat on a wall."; String line2 = "Humpty Dumpty had a great fall."; String rhyme = line1 + "\n" + line2;

Dacă suntem pe un sistem de operare Windows, putem folosi „ \ r \ n”:

rhyme = line1 + "\r\n" + line2;

Pentru un sistem de operare vechi bazat pe Mac, putem folosi „ \ r”:

rhyme = line1 + "\r" + line2;

Am demonstrat trei metode de adăugare a unei noi linii, dar, din păcate, acestea depind de platformă.

2.2. Utilizarea separatoarelor de linie independente de platformă

Putem folosi constante definite de sistem atunci când dorim ca codul nostru să fie independent de platformă.

De exemplu, folosind System.lineSeparator () pentru a da un separator de linie:

rhyme = line1 + System.lineSeparator() + line2;

Sau am putea folosi și System.getProperty („line.separator”) :

rhyme = line1 + System.getProperty("line.separator") + line2;

2.3. Utilizarea caracterelor Newline independente de platformă

Deși separatoarele de linie asigură independența platformei, ele ne obligă să concatenăm șirurile noastre.

Dacă folosim ceva de genul System.out.printf sau String.format , atunci caracterul newline independent de platformă, % n , poate fi utilizat direct într-un șir :

rhyme = "Humpty Dumpty sat on a wall.%nHumpty Dumpty had a great fall.";

Este la fel ca și includerea System.lineSeparator () în șirul nostru, dar nu este necesar să împărțim șirul în mai multe părți.

3. Adăugarea de caractere Newline într-o pagină HTML

Să presupunem că creăm un șir care face parte dintr-o pagină HTML. În acest caz, putem adăuga o etichetă de pauză HTML

Putem folosi și caractere Unicode „& # 13;” (Returnarea transportului) și „& # 10;” (Linie de alimentare). Deși aceste personaje funcționează, ele nu funcționează exact așa cum ne-am putea aștepta să le facă pe toate platformele. În schimb, este mai bine să utilizați

În plus, putem folosi „\ n” în unele elemente HTML pentru a sparge o linie.

În general, acestea sunt cele trei metode de rupere a unei linii în HTML. Putem decide pe care să îl folosim în funcție de eticheta HTML pe care o folosim.

3.1. Etichetă de pauză HTML

Putem folosi eticheta HTML break

rhyme = line1 + "

" + line2;

eticheta de rupere a unei linii funcționează în aproape toate elementele HTML cum ar fi ,

,

, etc. Cu toate acestea, rețineți că nu funcționează în etichetă.

3.2. Caracter Newline

Putem folosi „\ n” pentru a rupe o linie dacă textul este inclus în

 sau  etichetă:

rhyme = line1 + "\n" + line2;

3.3. Caracterele Unicode

În cele din urmă, putem folosi caractere Unicode „& # 13;” (Returnarea transportului) și „& # 10;” (Feed de linie) pentru a sparge o linie. De exemplu, în tag putem folosi oricare dintre acestea:

rhyme = line1 + " " + line2; rhyme = line1 + " " + line2; 

Pentru

 etichetă, ambele rânduri de mai jos vor funcționa:

rhyme = line1 + " " + line2; rhyme = line1 + " " + line2; 

4. Diferența dintre \ n și \ r

\ r și \ n sunt caractere notate cu valori ASCII de 13 (CR) și respectiv 10 (LF). Ele reprezintă amândoi o pauză între două linii , dar sistemele de operare le folosesc în mod diferit.

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”).

În cele din urmă, ne-am încheiat cu cum să adăugăm o nouă linie în cazul în care generăm o pagină HTML.

Implementarea completă a acestui articol poate fi găsită pe GitHub.