Додавання символу нового рядка до рядка в Java

1. Огляд

Форматування рядків і генерація текстового виводу часто виникає під час програмування. У багатьох випадках виникає необхідність додати новий рядок до рядка для форматування виводу.

Давайте обговоримо, як використовувати символи нового рядка.

2. Додавання символів нового рядка в рядок

Операційні системи мають спеціальні символи, що позначають початок нового рядка. Наприклад, у Linux новий рядок позначається “ \ n” , який також називається Подача рядка . У Windows новий рядок позначається за допомогою " \ r \ n" , який іноді називають Carriage Return and Line Feed , або CRLF .

Додавання нового рядка на Java так само просто, як включення “ \ n” , “ \ r” або “ \ r \ n” у кінці нашого рядка.

2.1. Використання розривів рядків CRLF

У цьому прикладі ми хочемо створити абзац, використовуючи два рядки тексту. Зокрема, ми хочемо, щоб рядок2 з’явився в новому рядку після рядка1 .

Для ОС на основі Unix / Linux / New Mac ми можемо використовувати “ \ n”:

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

Якщо ми працюємо в ОС на базі Windows, ми можемо використовувати “ \ r \ n”:

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

Для старої ОС на базі Mac ми можемо використовувати “ \ r”:

rhyme = line1 + "\r" + line2;

Ми продемонстрували три методи додавання нового рядка, але, на жаль, вони залежать від платформи.

2.2. Використання незалежних від платформи роздільників ліній

Ми можемо використовувати константи, визначені системою, коли хочемо, щоб наш код був незалежним від платформи.

Наприклад, за допомогою System.lineSeparator () для надання роздільника рядка:

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

Або ми також можемо використовувати System.getProperty (“line.separator”) :

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

2.3. Використання незалежних від платформи символів нового рядка

Хоча роздільники ліній забезпечують незалежність платформи, вони змушують нас об'єднати наші струни.

Якщо ми використовуємо щось на зразок System.out.printf або String.format , то незалежний від платформи символ нового рядка, % n , може використовуватися безпосередньо всередині рядка :

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

Це те саме, що включити System.lineSeparator () до нашого рядка, але нам не потрібно ділити рядок на кілька частин.

3. Додавання символів нового рядка на сторінку HTML

Припустимо, ми створюємо рядок, який є частиною HTML-сторінки. У цьому випадку ми можемо додати тег розриву HTML

Ми також можемо використовувати символи Unicode "& # 13;" (Повернення каретки) та “& # 10;” (Подача рядка). Хоча ці персонажі працюють, вони працюють не так, як ми могли б очікувати від них на всіх платформах. Натомість краще використовувати

Крім того, ми можемо використовувати “\ n” в деяких елементах HTML, щоб розбити рядок.

Загалом, це три методи розбиття рядка в HTML. Ми можемо вирішити, який із них використовувати, залежно від тегу HTML, який ми використовуємо.

3.1. Тег розриву HTML

Ми можемо використовувати тег HTML break

rhyme = line1 + "

" + line2;

тег для розриву рядка працює майже у всіх елементах HTML, таких як ,

,

і т. д. Однак зауважте, що це не працює в тег.

3.2. Персонаж нового рядка

Ми можемо використовувати '\ n', щоб розбити рядок, якщо текст укладено в

 або  тег:

rhyme = line1 + "\n" + line2;

3.3. Символи Unicode

Нарешті, ми можемо використовувати символи Unicode "& # 13;" (Повернення каретки) та “& # 10;” (Line Feed), щоб розбити рядок. Наприклад, у тег ми можемо використовувати будь-який із цих:

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

Для

 тегу, працюватимуть обидва рядки нижче:

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

4. Різниця між \ n та \ r

\ r та \ n - символи, що позначаються значеннями ASCII 13 (CR) та 10 (LF) відповідно. Вони обидва представляють перерву між двома рядками , але операційні системи використовують їх по-різному.

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

Нарешті, ми закінчили з тим, як додати новий рядок на випадок, якщо ми створюємо сторінку HTML.

Повну реалізацію цієї статті можна знайти на GitHub.