Hinzufügen eines Zeilenumbruchzeichens zu einer Zeichenfolge in Java

1. Übersicht

Das Formatieren von Zeichenfolgen und das Generieren von Textausgabe erfolgt häufig während der Programmierung. In vielen Fällen muss einer Zeichenfolge eine neue Zeile hinzugefügt werden, um die Ausgabe zu formatieren.

Lassen Sie uns diskutieren, wie Zeilenumbruchzeichen verwendet werden.

2. Hinzufügen von Zeilenumbrüchen in eine Zeichenfolge

Betriebssysteme haben Sonderzeichen, die den Beginn einer neuen Zeile kennzeichnen. Unter Linux wird eine neue Zeile beispielsweise mit " \ n" bezeichnet , auch als Zeilenvorschub bezeichnet . In Windows wird eine neue Zeile mit " \ r \ n" bezeichnet , manchmal auch als Wagenrücklauf und Zeilenvorschub oder CRLF bezeichnet .

Das Hinzufügen einer neuen Zeile in Java ist so einfach wie das Einfügen von " \ n" , " \ r" oder " \ r \ n" am Ende unserer Zeichenfolge.

2.1. Verwenden von CRLF-Zeilenumbrüchen

In diesem Beispiel möchten wir einen Absatz mit zwei Textzeilen erstellen. Insbesondere wollen wir line2 in einer neuen Zeile nach erscheinen line1 .

Für ein Unix / Linux / New Mac-basiertes Betriebssystem können wir " \ n" verwenden:

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

Wenn wir ein Windows-basiertes Betriebssystem verwenden, können wir " \ r \ n" verwenden:

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

Für ein altes Mac-basiertes Betriebssystem können wir " \ r" verwenden:

rhyme = line1 + "\r" + line2;

Wir haben drei Methoden zum Hinzufügen einer neuen Zeile demonstriert, die jedoch plattformabhängig sind.

2.2. Verwenden plattformunabhängiger Trennzeichen

Wir können systemdefinierte Konstanten verwenden, wenn unser Code plattformunabhängig sein soll.

Verwenden Sie beispielsweise System.lineSeparator (), um ein Zeilentrennzeichen anzugeben :

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

Oder wir könnten auch System.getProperty ("line.separator") verwenden :

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

2.3. Verwenden plattformunabhängiger Newline-Zeichen

Obwohl Zeilentrennzeichen plattformunabhängig sind, zwingen sie uns, unsere Zeichenfolgen zu verketten.

Wenn wir so etwas wie System.out.printf oder String.format verwenden , kann das plattformunabhängige Zeilenumbruchzeichen % n direkt in einem String verwendet werden :

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

Dies entspricht der Aufnahme von System.lineSeparator () in unsere Zeichenfolge, wir müssen die Zeichenfolge jedoch nicht in mehrere Teile aufteilen.

3. Hinzufügen von Zeilenumbrüchen in einer HTML-Seite

Angenommen, wir erstellen eine Zeichenfolge, die Teil einer HTML-Seite ist. In diesem Fall können wir ein HTML-Break-Tag hinzufügen

Wir können auch Unicode-Zeichen "& # 13;" verwenden. (Wagenrücklauf) und "& # 10;" (Zeilenvorschub). Obwohl diese Charaktere funktionieren, funktionieren sie nicht genau so, wie wir es von allen Plattformen erwarten würden. Stattdessen ist es besser zu verwenden

Darüber hinaus können wir in einigen HTML-Elementen "\ n" verwenden, um eine Zeile zu unterbrechen.

Insgesamt sind dies die drei Methoden zum Unterbrechen einer Zeile in HTML. Abhängig vom verwendeten HTML-Tag können wir entscheiden, welches verwendet werden soll.

3.1. HTML Break Tag

Wir können HTML-Break-Tag verwenden

rhyme = line1 + "

" + line2;

Das

Tag zum Unterbrechen einer Linie funktioniert in fast allen HTML-Elementen wie ,

,

, Usw. Beachten Sie jedoch, dass es nicht funktioniert , in der Etikett.

3.2. Newline-Zeichen

Wir können '\ n' verwenden , um eine Zeile zu unterbrechen, wenn Text eingeschlossen ist

 oder  Etikett:

rhyme = line1 + "\n" + line2;

3.3. Unicode-Zeichen

Schließlich können wir Unicode-Zeichen "& # 13;" verwenden. (Wagenrücklauf) und "& # 10;" (Zeilenvorschub), um eine Zeile zu unterbrechen. Zum Beispiel in der Tag können wir eine der folgenden verwenden:

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

Für die

 Tag, beide Zeilen unten funktionieren:

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

4. Der Unterschied zwischen \ n und \ r

\ r und \ n sind Zeichen, die mit ASCII-Werten von 13 (CR) bzw. 10 (LF) gekennzeichnet sind. Sie beide eine Pause zwischen zwei Linien , aber Betriebssysteme verwenden sie anders.

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.