Рубрики
Без рубрики

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

Узнайте о символах новой строки в Java для вывода текста и HTML

Автор оригинала: baeldung.

1. Обзор

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

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

Дальнейшее чтение:

Проверка наличия пустых или пустых строк в Java

Проверьте, содержит ли строка Подстроку

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

Операционные системы имеют специальные символы, обозначающие начало новой строки. Например, в Linux новая строка обозначается “ \n” , также называется каналом строк . В Windows новая строка обозначается с помощью “ \r\n” , иногда называемой Возвратом каретки и подачей строки или CRLF .

Добавление новой строки в Java так же просто, как включение ” \n” , ” \r”, или ” \ r \n” в конце нашей цепочки.

2.1. Использование разрывов строк CRLF

В этом примере мы хотим создать абзац, используя две строки текста. В частности, мы хотим, чтобы line2 появился в новой строке после line1 .

Для Unix/Linux/новой ОС на базе 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. Использование Независимых От Платформы Линейных Разделителей

Мы можем использовать системные константы, когда хотим, чтобы наш код был независимым от платформы.

Например, с помощью Система.Линейный разделитель() для предоставления разделителя строк:

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

Или мы могли бы также использовать System.getProperty(“строка.разделитель”) :

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

Мы можем использовать тег HTML break для разрыва строки:

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) соответственно. Они оба представляют собой разрыв между двумя строками , но операционные системы используют их по-разному.

В Windows для начала новой строки используется последовательность из двух символов, за которой сразу же следует LF. И наоборот, в Unix-подобных системах используется только LF.

При написании Java-приложений мы должны обращать внимание на символы разрыва строки, которые мы используем, потому что приложения будут вести себя по-разному в зависимости от операционной системы, в которой они будут работать.

Самый безопасный и наиболее совместимый вариант-использовать System.LineSeparator(). Таким образом, нам не придется принимать во внимание операционную систему.

5. Заключение

В этой статье мы обсудили, как добавить символы новой строки в строку в Java.

Мы также видели, как написать независимый от платформы код для новой строки с помощью System.разделитель строк() и System.getProperty(“разделитель строк”) .

Наконец, мы закончили с тем, как добавить новую строку в случае, если мы создаем HTML-страницу.

Полную реализацию этой статьи можно найти на GitHub .