Új vonalas karakter hozzáadása egy Java karakterlánchoz

1. Áttekintés

A karakterlánc formázása és a szövegkimenet generálása gyakran felmerül a programozás során. Sok esetben a kimenet formázásához új sort kell hozzáadni a karakterlánchoz.

Beszéljük meg az újsoros karakterek használatát.

2. Új vonalas karakterek hozzáadása egy karakterlánchoz

Az operációs rendszerek speciális karakterekkel rendelkeznek, amelyek egy új sor kezdetét jelzik. Például, a Linuxban egy új sort "\ n ”, más néven a Soremelés. A Windows rendszerben egy új sort a „\ r \ n ”, néha a Kocsi vissza és Soremelés, vagy CRLF.

Új sor hozzáadása a Java-ban olyan egyszerű, mint a\ n ” , “\ r ”, vagy „\r\ n ” a húrunk végén.

2.1. A CRLF sortörések használata

Ebben a példában egy bekezdést szeretnénk létrehozni két szövegsor felhasználásával. Konkrétan azt akarjuk 2. sor után új sorban jelenik meg sor1.

Unix / Linux / New Mac alapú operációs rendszer esetén használhatjuk a\ n ”:

String line1 = "Humpty Dumpty a falon ült."; String line2 = "A Humpty Dumpty nagyot esett."; Karakterlánc = sor1 + "\ n" + 2. sor;

Ha Windows alapú operációs rendszert használunk, használhatjuk a\ r \ n ”:

rím = 1. sor + "\ r \ n" + 2. sor;

Egy régi Mac-alapú operációs rendszer esetén használhatjuk a\ r ”:

rím = 1. sor + "\ r" + 2. sor;

Három módszert mutattunk be egy új sor hozzáadására, de sajnos platformfüggőek.

2.2. Platformtól független vonalelválasztók használata

Akkor használhatunk rendszer által definiált konstansokat, ha azt akarjuk, hogy kódunk platformfüggetlen legyen.

Például a System.lineSeparator () vonalválasztó megadásához:

rím = line1 + System.lineSeparator () + line2;

Vagy használhatnánk is System.getProperty („line.separator”):

rím = line1 + System.getProperty ("line.separator") + line2;

2.3. Platformfüggetlen újvonalas karakterek használata

Bár a vonalelválasztók biztosítják a platform függetlenségét, arra kényszerítenek minket, hogy összefűzzük a húrjainkat.

Ha ilyesmit használunk System.out.printf vagy Karakterlánc.formátum, aztán a platformfüggetlen újsoros karakter, % n, közvetlenül használható egy stringen belül:

rhyme = "Humpty Dumpty a falon ült.% nHumpty Dumpty nagy esést szenvedett.";

Ez megegyezik a belefoglalással System.lineSeparator () a karakterláncunkon belül, de nem kell több részre osztanunk a karakterláncot.

3. Új sor karakterek hozzáadása egy HTML oldalhoz

Tegyük fel, hogy egy karakterláncot hozunk létre, amely egy HTML oldal része. Ebben az esetben hozzáadhatunk egy HTML break tag-et

Használhatunk Unicode karaktereket is “& #13;” (Kocsi vissza) és “& #10;” (Soremelés). Bár ezek a karakterek működnek, nem pontosan úgy működnek, mint amire számíthatunk minden platformon. Ehelyett jobb használni

Ezenkívül használhatjuk „\ N” egyes HTML elemekben egy vonal törésére.

Összességében ez a három módszer a HTML megszakítására. Az általunk használt HTML-címkétől függően eldönthetjük, melyiket használjuk.

3.1. HTML Break Tag

Használhatunk HTML break tag-et

rím = sor1 + "

"+ 2. sor;

A

a vonal törésére szolgáló címke szinte minden HTML elemben működik, például ,

,

,
stb. Vegye figyelembe, hogy nem működik a címke.

3.2. Newline karakter

Tudjuk használni „\ N” sort szakítani, ha a szöveg be van zárva

 vagy  címke:

rím = 1. sor + "\ n" + 2. sor;

3.3. Unicode karakterek

Végül használhatunk Unicode karaktereket “& #13;” (Kocsi vissza) és “& #10;” (Line Feed) a vonal töréséhez. Például a címke az alábbiak egyikét használhatjuk:

rím = 1. sor + "" + 2. sor; rím = 1. sor + "" + 2. sor; 

A

 tag, az alábbi két sor működni fog:

rím = 1. sor + "" + 2. sor; rím = 1. sor + "" + 2. sor; 

4. A különbség \ n és \ r

\ r és \ n olyan karakterek, amelyeket 13 (CR) és 10 (LF) ASCII értékkel jelölünk. Őkmindkettő két vonal közötti szünetet jelent, de az operációs rendszerek másként használják őket.

Windows rendszeren két karakterből álló sorrendet használnak egy új sor indításához, a CR-t azonnal az LF követi. Ezzel szemben a Unix-szerű rendszereken csak az LF-et használják.

Java alkalmazások írásakor figyelnünk kell az általunk használt sortörési karakterekre, mert az alkalmazások másként fognak viselkedni attól függően, hogy milyen operációs rendszert futtatnak.

A legbiztonságosabb és leginkább kompatibilis megoldás a használata System.lineSeparator (). Így nem kell figyelembe venni az operációs rendszert.

5. Következtetés

Ebben a cikkben megvitattuk, hogyan adhatunk új sor karaktereket egy Java karakterlánchoz.

Láttuk azt is, hogyan lehet platformfüggetlen kódot írni egy új sorhoz System.lineSeparator () és System.getProperty („line.separator”).

Végül áttekintettük, hogyan adhatunk hozzá egy új sort, ha HTML oldalt generálunk.

A cikk teljes megvalósítása a GitHub oldalon található.