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.