Dodawanie znaku nowego wiersza do ciągu w Javie

1. Przegląd

Formatowanie ciągów znaków i generowanie tekstu wyjściowego często pojawia się podczas programowania. W wielu przypadkach istnieje potrzeba dodania nowej linii do ciągu w celu sformatowania danych wyjściowych.

Omówmy, jak używać znaków nowej linii.

2. Dodawanie znaków nowego wiersza do ciągu

Systemy operacyjne mają specjalne znaki oznaczające początek nowego wiersza. Na przykład w Linuksie nowa linia jest oznaczona jako „ \ n” , nazywana również wysuwem wiersza . W systemie Windows, nowa linia jest oznaczona za pomocą „ \ r \ n” , czasami nazywany powrót karetki i linii zasilającej lub CRLF .

Dodanie nowego wiersza w Javie jest tak proste, jak dodanie „ \ n” , „ \ r” lub „ \ r \ n” na końcu naszego ciągu.

2.1. Używanie podziałów wiersza CRLF

W tym przykładzie chcemy utworzyć akapit przy użyciu dwóch wierszy tekstu. W szczególności chcemy, aby linia2 pojawiła się w nowej linii po linii1 .

W przypadku systemu operacyjnego Unix / Linux / New Mac możemy użyć „ \ n”:

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

Jeśli pracujemy w systemie operacyjnym Windows, możemy użyć „ \ r \ n”:

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

W przypadku starego systemu operacyjnego opartego na systemie Mac możemy użyć „ \ r”:

rhyme = line1 + "\r" + line2;

Przedstawiliśmy trzy metody dodawania nowej linii, ale niestety są one zależne od platformy.

2.2. Korzystanie z separatorów linii niezależnych od platformy

Możemy używać stałych zdefiniowanych w systemie, gdy chcemy, aby nasz kod był niezależny od platformy.

Na przykład użycie System.lineSeparator () do podania separatora linii:

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

Lub możemy też użyć System.getProperty („line.separator”) :

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

2.3. Używanie niezależnych od platformy znaków nowego wiersza

Chociaż separatory linii zapewniają niezależność platformy, zmuszają nas do konkatenacji naszych ciągów.

Jeśli używamy czegoś takiego jak System.out.printf lub String.format , wówczas niezależny od platformy znak nowej linii, % n , może być użyty bezpośrednio w ciągu :

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

Jest to to samo, co włączenie System.lineSeparator () w naszym ciągu, ale nie musimy dzielić ciągu na wiele części.

3. Dodawanie znaków nowego wiersza na stronie HTML

Załóżmy, że tworzymy ciąg znaków, który jest częścią strony HTML. W takim przypadku możemy dodać znacznik HTML break

Możemy również użyć znaków Unicode „& # 13;” (Powrót karetki) i „& # 10;” (Line Feed). Chociaż te postacie działają, nie działają dokładnie tak, jak można by się ich spodziewać na wszystkich platformach. Zamiast tego lepiej jest użyć

Dodatkowo możemy użyć „\ n” w niektórych elementach HTML do przerwania linii.

Ogólnie rzecz biorąc, są to trzy metody przerywania linii w HTML. Możemy zdecydować, którego użyć, w zależności od używanego tagu HTML.

3.1. Znacznik podziału HTML

Możemy użyć tagu HTML break

rhyme = line1 + "

" + line2;

Plik

znacznik do przerywania linii działa w prawie wszystkich elementach HTML, takich jak ,

,

, Itd. Pamiętaj jednak, że to nie działa w etykietka.

3.2. Znak nowego wiersza

Możemy użyć '\ n' do przerwania linii, jeśli tekst jest zawarty w

 lub  etykietka:

rhyme = line1 + "\n" + line2;

3.3. Znaki Unicode

Wreszcie możemy użyć znaków Unicode „& # 13;” (Powrót karetki) i „& # 10;” (Line Feed), aby przerwać linię. Na przykład w tag, którego możemy użyć:

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

Dla

 tag, obie poniższe linie będą działać:

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

4. Różnica między \ n a \ r

\ r i \ n to znaki oznaczone wartościami ASCII odpowiednio 13 (CR) i 10 (LF). Oni obaj reprezentują przerwę między dwiema liniami , ale systemy operacyjne wykorzystywać je w różny sposób.

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

Na koniec podsumowaliśmy, jak dodać nowy wiersz w przypadku, gdy generujemy stronę HTML.

Pełną implementację tego artykułu można znaleźć na GitHub.