Добавление символа новой строки в строку в Java

1. Обзор

Форматирование строк и создание текста на выходе часто возникает во время программирования. Во многих случаях необходимо добавить новую строку в строку для форматирования вывода.

Давайте обсудим, как использовать символы новой строки.

2. Добавление символов новой строки в строку

В операционных системах есть специальные символы, обозначающие начало новой строки. Например, в Linux новая строка обозначается « \ n» , также называемая переводом строки . В Windows новая строка обозначается с помощью « \ r \ n» , иногда называемого возвратом каретки и переводом строки , или 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

Мы также можем использовать символы Юникода «& # 13;» (Возврат каретки) и «& # 10;» (Перевод строки). Хотя эти персонажи работают, они работают не так, как мы могли бы ожидать, на всех платформах. Вместо этого лучше использовать

Кроме того, мы можем использовать «\ n» в некоторых элементах HTML для разрыва строки.

В целом, это три метода разрыва строки в HTML. Мы можем решить, какой из них использовать, в зависимости от используемого тега HTML.

3.1. Тег HTML Break

Мы можем использовать тег разрыва HTML

rhyme = line1 + "

" + line2;

В

тег для разрыва строки работает почти во всех элементах HTML, например ,

,

и т. д. Однако учтите, что он не работает в тег.

3.2. Символ новой строки

Мы можем использовать '\ n' для разрыва строки, если текст заключен в

 или же  тег:

rhyme = line1 + "\n" + line2;

3.3. Символы Юникода

Наконец, мы можем использовать символы Юникода «& # 13;» (Возврат каретки) и «& # 10;» (Перевод строки), чтобы разбить строку. Например, в тег, мы можем использовать любой из них:

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

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.