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

Ява – Как получить новый символ строки или \n?

В Java мы можем использовать “system.LineSeparator()”, чтобы получить символ новой строки, зависящий от платформы. В Windows это `rn`, в Linux это `n”.

Автор оригинала: 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";

        List content = 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-ввод-вывод

Рекомендации

Оригинал: “https://mkyong.com/java/java-how-to-get-new-line-character-or-n/”