РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
861 of 1163 menu

Метод lines класса BufferedReader

Метод lines класса BufferedReader читает данные из потока и возвращает их в виде Stream<String>, где каждый элемент потока - это одна прочитанная строка. Метод не принимает параметров. Чтение происходит лениво: строки извлекаются из потока по мере обработки результирующего Stream. Поток необходимо закрыть, например, с помощью try-with-resources.

Синтаксис

bufferedReader.lines()

Пример

Давайте прочитаем все строки из StringReader и выведем их в консоль:

import java.io.BufferedReader; import java.io.StringReader; public class Main { public static void main(String[] args) { String text = "abcde\n12345"; try (BufferedReader br = new BufferedReader(new StringReader(text))) { br.lines().forEach(System.out::println); } catch (Exception e) { System.out.println(e.getMessage()); } } }

Результат выполнения кода:

"abcde" "12345"

Пример

Давайте соберем все строки в список с помощью collect:

import java.io.BufferedReader; import java.io.StringReader; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { String text = "abcde\n12345\nabcde"; try (BufferedReader br = new BufferedReader(new StringReader(text))) { List<String> res = br.lines().collect(Collectors.toList()); System.out.println(res); } catch (Exception e) { System.out.println(e.getMessage()); } } }

Результат выполнения кода:

[abcde, 12345, abcde]

Пример

Давайте отфильтруем строки, оставив только те, что начинаются с символа '1', и посчитаем их количество:

import java.io.BufferedReader; import java.io.StringReader; public class Main { public static void main(String[] args) { String text = "abcde\n12345\nabcde"; try (BufferedReader br = new BufferedReader(new StringReader(text))) { long res = br.lines() .filter(line -> line.startsWith("1")) .count(); System.out.println(res); } catch (Exception e) { System.out.println(e.getMessage()); } } }

Результат выполнения кода:

1

Смотрите также

  • класс BufferedReader,
    который буферизует чтение символов
  • метод readLine,
    который читает одну строку
  • класс Reader,
    который является базовым для чтения символов
  • метод read,
    который читает отдельные символы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить