Menambah Karakter Newline ke Rentetan di Java

1. Gambaran keseluruhan

Pemformatan rentetan dan menghasilkan output teks sering muncul semasa pengaturcaraan. Dalam banyak kes, terdapat keperluan untuk menambahkan baris baru ke tali untuk memformat output.

Mari kita bincangkan cara menggunakan watak barisan baru.

2. Menambah Watak Newline dalam Rentetan

Sistem operasi mempunyai watak khas yang menunjukkan permulaan barisan baru. Sebagai contoh, di Linux baris baru dilambangkan dengan " \ n" , juga disebut Line Feed . Di Windows, garis baru dilambangkan menggunakan " \ r \ n" , kadang-kadang disebut Carriage Return and Line Feed , atau CRLF .

Menambah baris baru di Java semudah menyertakan " \ n" , " \ r", atau " \ r \ n" di akhir rentetan kami.

2.1. Menggunakan CRLF Line-Breaks

Untuk contoh ini, kami ingin membuat perenggan menggunakan dua baris teks. Secara khusus, kami mahu baris2 muncul dalam baris baru selepas baris1 .

Untuk OS berasaskan Unix / Linux / New Mac kita dapat menggunakan " \ n":

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

Sekiranya kita menggunakan OS berbasis Windows, kita dapat menggunakan " \ r \ n":

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

Untuk OS berasaskan Mac lama, kita dapat menggunakan " \ r":

rhyme = line1 + "\r" + line2;

Kami telah menunjukkan tiga kaedah untuk menambahkan baris baru, tetapi sayangnya, ia bergantung pada platform.

2.2. Menggunakan Pemisah Garis Bebas Platform

Kita boleh menggunakan pemalar yang ditentukan oleh sistem apabila kita mahu kod kita bebas dari platform.

Contohnya, menggunakan System.lineSeparator () untuk memberikan pemisah garis:

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

Atau kita juga boleh menggunakan System.getProperty ("line.separator") :

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

2.3. Menggunakan Karakter Newline Independent Platform

Walaupun pemisah garis memberikan kebebasan platform, mereka memaksa kita untuk menggabungkan rentetan kita.

Sekiranya kita menggunakan sesuatu seperti System.out.printf atau String.format , maka watak barisan baru bebas platform, % n , boleh digunakan secara langsung dalam rentetan :

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

Ini sama seperti memasukkan System.lineSeparator () dalam rentetan kami, tetapi kami tidak perlu membahagi rentetan menjadi beberapa bahagian.

3. Menambah Karakter Newline dalam Halaman HTML

Anggaplah kita membuat rentetan yang merupakan bahagian dari halaman HTML. Dalam kes itu, kita dapat menambahkan tag rehat HTML

Kami juga boleh menggunakan watak Unicode "& # 13;" (Carriage Return) dan "& # 10;" (Umpan Garisan). Walaupun watak-watak ini berfungsi, mereka tidak berfungsi seperti yang kita harapkan di semua platform. Sebaliknya, lebih baik digunakan

Selain itu, kita dapat menggunakan "\ n" dalam beberapa elemen HTML untuk memecahkan garis.

Secara keseluruhan, ini adalah tiga kaedah memecahkan garis dalam HTML. Kami dapat memutuskan mana yang akan digunakan bergantung pada tag HTML yang kami gunakan.

3.1. Tag Cuti HTML

Kita boleh menggunakan tanda rehat HTML

rhyme = line1 + "

" + line2;

The

tag untuk memecahkan garis berfungsi di hampir semua elemen HTML seperti ,

,

, etc. However, note that it does not work in the  tag.

3.2. Newline Character

We can use ‘\n' to break a line if text is enclosed in

 or  tag:

rhyme = line1 + "\n" + line2;

3.3. Unicode Characters

Finally, we can use Unicode characters “& #13;” (Carriage Return) and “& #10;” (Line Feed) to break a line. For example, in the tag we can use either of these:

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

For the

 tag, both of the lines below will work:

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

4. The Difference Between \n and \r

\r and \n are characters denoted with ASCII values of 13 (CR) and 10 (LF), respectively. Theyboth represent a break between two lines, but operating systems use them differently.

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.