Автор оригинала: mkyong.
Символ новой строки , также называемый концом строки (EOL), разрывом строки, переводом строки, разделителем строк или возвратом каретки, является управляющим символом , указывающим конец строки текста, и следующий символ должен начинаться с новой строки. В системе Windows это \r\n
, в системе Linux , это \n
.
В Java мы можем использовать System.LineSeparator() для получения зависящего от платформы символа новой строки.
package com.mkyong.io.howto; public class GetNewLine { public static void main(String[] args) { System.out.print("Line 1"); // Windows \r\n, Linux \n System.out.print(System.lineSeparator()); System.out.print("Line 2"); } }
Выход
Line 1 Line 2
P.S То System.getProperty(“строка.разделитель”) также возвращает тот же результат.
1. System.Разделитель строк()
Вот сигнатура метода System.LineSeparator()
, доступная с Java 1.7, прочитайте комментарии.
package java.lang; public final class System { /** * Returns the system-dependent line separator string. It always * returns the same value - the initial value of the {@linkplain * #getProperty(String) system property} {@code line.separator}. * *On UNIX systems, it returns {@code "\n"}; on Microsoft * Windows systems it returns {@code "\r\n"}. * * @return the system-dependent line separator string * @since 1.7 */ public static String lineSeparator() { return lineSeparator; }
2. Печать символа новой строки
Если мы хотим напечатать зависящий от платформы символ новой строки, попробуйте %не
(разделитель строк) в String.format .
package com.mkyong.io.howto; public class GetNewLine2 { public static void main(String[] args) { System.out.print(String.format("%s%n%s", "Line 1", "Line 2")); } }
Выход
Line 1 Line 2
3. Напишите символ новой строки
Если мы используем BufferedWriter
для записи текста в файл, новая строка()
представляет символ новой строки, зависящий от платформы.
package com.mkyong.io.howto; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; import java.util.List; public class GetNewLine3 { public static void main(String[] args) { // write a new line character String fileName = "/home/mkyong/sample.txt"; Listcontent = Arrays.asList("A", "B", "C"); try (BufferedWriter bw = new BufferedWriter(new FileWriter(fileName))) { for (String t : content) { bw.write(t); bw.newLine(); // same //bw.write(System.lineSeparator()); } } catch (IOException e) { e.printStackTrace(); } } }
Просмотрите сигнатуру метода Newline()
, внутренне, BufferedWriter
также используйте System.LineSeparator()
.
package java.io; public class BufferedWriter extends Writer { /** * Writes a line separator. The line separator string is defined by the * system property {@code line.separator}, and is not necessarily a single * newline ('\n') character. * * @exception IOException If an I/O error occurs */ public void newLine() throws IOException { write(System.lineSeparator()); } //... }
Скачать Исходный Код
$ клон git $ клон git
$ cd java-ввод-вывод
Рекомендации
- System.Разделитель строк()
- System.Разделитель строк()
- Форматировщик JavaDoc
- БуферизоВанный файл javadoc
Оригинал: “https://mkyong.com/java/java-how-to-get-new-line-character-or-n/”