Как в String добавить перенос строки
NeatBeans предлагает только конкатенацию строк. А как все-таки записать с учетом переноса строки.
Используй System.lineSeparator() . Это сделает перевод строки и в Windows и в Linux.
![]()
(или то же, но с конкатенацией) будет самым частым ответом, причём для многих C-подобных языков. Перевод строки на разных платформах и их версиях может быть разным, но в Java используются Unicode-cтроки, так что работает \n.
Однако в случае форматированных строк, чтобы вставить платформо-зависимый разделитель строк, нужно использовать символ «%n»:
— (в данном случае на место «%s» подставятся второй и третий аргумент метода format())
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как добавить перенос строки в Java
Перенос строки, он же перенос каретки это один или несколько спецсимволов, означающие окончание текущей строки символов и перевод картеки на новую строку. В зависимости от операционной системы используются разные спецсимволы. Например, в Windows используются спецсимволы CR + LF:
| Спецсимолы | Альт-код | Управляющая последовательность | Операционные системы |
|---|---|---|---|
| CR LF | 13 10 | \r \n | DOS, OS/2, все версии Windows (в том числе и последние) |
| LF | 10 | \n | Linux, macOS, Unix и прочие POSIX-совместимые системы |
| CR | 13 | \r | Старые версии Mac OS (до версии 9) |
Спецсимволу CR соответсвует альт-код 13, а спецсимволу LF альт-код 10. Кстати, CR означает carriage return (возврат каретки), а LF это line feed (перевод строки). Управляющая последовательность \r\n или \n как раз и обозначает перевод строки в Си подобных языках программирования.
Как сделать перенос строки
Допустим, у вас есть строка, содержимое которой выводится в консоль:
При выводе в консоль вы увидите те же слова, составляющие ровно одну строку, без переносов на новые строки. Как же нам добавить перенос строки в Java?
Для разных операционных систем переносом строки являются разные управляющие символы:
Для Windows это символы \r\n
Для Linux, macOS и прочих *nix систем это \n
Нужно добавить в искомую строку нужную управляющую последовательность, в зависимости от того, в какой операционной системе выолняется ваша программа.
Способ первый – захардкодить перенос строки
Допустим, ваша программа на Java запускается в Linux. Вы просто добавляете символы \n в то место в строке, в котором вам нужно сделать перевод на новую строку:
Теперь, при использовании переносов строки, вы, вместо одной строки в консоли увидите три строки – по каждой на символы \n
Перенос строки, используя символы переноса строки \n (для Linux)
Но как же быть, если вы не хотите хардкодить символы переноса строки?
Способ второй – портабельный и правильный
Если вы не хотите писать символы \n каждый раз, когда хотите сделать перенос строки – вы можете воспользоваться стандартным методом System.lineSeparator() , который возвращает перенос строки для той операционной системы, в которой сейчас выполняется ваша программа. Это очень полезно, если программа исполняется и в Windows и в Linux окружении.
Просто используйте System.lineSeparator() в том месте, где вам нужно создать новую строку:
Перенос строки в Java, используя стандартный System.lineSeparator()
Class String
Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example:
is equivalent to:
Here are some more examples of how strings can be used:
The class String includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. Case mapping is based on the Unicode Standard version specified by the Character class.
The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. For additional information on string concatenation and conversion, see The Java Language Specification.
Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a NullPointerException to be thrown.
A String represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the Character class for more information). Index values refer to char code units, so a supplementary character uses two positions in a String .
The String class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., char values).
Unless otherwise noted, methods for comparing Strings do not take locale into account. The Collator class provides methods for finer-grain, locale-sensitive String comparison.
Распечатать новую строку в Java
В этом посте мы рассмотрим, как печатать новую строку в Java.
Новая строка (она же конец строки (EOL), перевод строки или разрыв строки) означает конец строки и начало новой. Различные операционные системы используют разные обозначения для представления новой строки с помощью одного или двух управляющих символов. В системах Unix/Linux и macOS новая строка представлена «\n» ; в системах Microsoft Windows с помощью «\r\n» ; и на классической Mac OS с «\r» .
1. Использование зависящего от платформы символа новой строки
Обычно используемое решение заключается в использовании зависит от платформы символы новой строки. Например, «\n» на Unix и «\r\n» на ОС Windows. Проблема этого решения в том, что ваша программа не будет переносимой.