Как получить зависимую от платформы новую строку в Java? Я не могу использовать "\n"
везде.
java
cross-platform
newline
eol
Spoike
источник
источник
Ответы:
В дополнение к свойству line.separator, если вы используете Java 1.5 или более позднюю версию и String.format (или другие методы форматирования ), вы можете использовать
%n
как вСм. API Java 1.8 для Formatter для получения дополнительной информации.
источник
%
пользовательский ввод!String.format(s + "%n")
легко решаетсяString.format("%s%n", s)
. Всегда рискованно включать пользовательский ввод в качестве тела формата (так же, какeval()
).У Java 7 теперь есть
System.lineSeparator()
метод.источник
lineSeperator(int)
который возвращает некоторое количество разделителей строк, поскольку я часто использую 2 сразу.String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Ты можешь использовать
получить разделитель строк
источник
System.lineSeparator()
подробности о Java 7, так что вот вам окончательный ответ на этот вопрос?Если вы пытаетесь записать новую строку в файл, вы можете просто использовать метод BufferedWriter newLine () .
источник
Это также возможно:
String.format("%n")
.Или
String.format("%n").intern()
сохранить несколько байтов.источник
notepad
не подходит для просмотра содержимого файла. Используйтеhexdump
илиod
.\r\n
Библиотека commons-lang имеет постоянное доступное поле с именем SystemUtils.LINE_SEPARATOR
источник
Вышеупомянутый фрагмент будет иметь две строки, разделенные новой строкой, независимо от платформы.
источник
Если вы пишете в файл, используя
BufferedWriter
экземпляр, используйтеnewLine()
метод этого экземпляра. Он обеспечивает независимый от платформы способ записи новой строки в файл.источник
Избегайте добавления строк с использованием String + String и т. Д., Используйте вместо этого StringBuilder.
источник
string + string
».