Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

String.lines()

Разбивает строку на строки по переводам строки и возвращает их потоком.

Доступно с: Java 11

Синтаксис

public Stream<String> lines()

Возвращаемое значение

Stream<String>Поток строк без символов перевода строки.

Примеры

Подсчёт непустых строк текста:

void main() {
    String text = "first\n\nsecond\r\nthird";
    long count = text.lines().filter(line -> !line.isBlank()).count();
    IO.println(count);
}

Результат:

3

Нумерация строк:

void main() {
    String poem = """
        roses are red
        violets are blue""";
    List<String> lines = poem.lines().toList();
    for (int i = 0; i < lines.size(); i++) {
        IO.println((i + 1) + ": " + lines.get(i));
    }
}

Результат:

1: roses are red
2: violets are blue

Примечания

Понимает все виды переводов строки: \n, \r\n и \r. В отличие от split("\n"), не оставляет \r в конце строк из Windows-файлов.

См. также

  • String.split() — Разбивает строку на массив частей по разделителю.
  • Files.readAllLines() — Читает текстовый файл в список строк.
  • Text block """ — Многострочный строковый литерал в тройных кавычках.

Вопросы и ответы по теме

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.