Java BufferedReader - работа с файлами и потоками данных
Java BufferedReader - это класс, который позволяет читать текст из потока ввода данных (например, из файла или из сетевого соединения) с буферизацией. Буферизация улучшает производительность, т.к. данные читаются не по одному символу, а блоками.
Например, если мы хотим прочитать содержимое файла, мы можем использовать класс FileReader и прочитать его посимвольно:
FileReader reader = new FileReader("file.txt");
int symbol = reader.read();
while (symbol != -1) {
// делаем что-то с символом
symbol = reader.read();
}
Но такой подход может быть неэффективным при чтении больших файлов. В этом случае мы можем использовать BufferedReader:
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line = reader.readLine();
while (line != null) {
// делаем что-то с прочитанной строкой
line = reader.readLine();
}
Здесь мы создаем объект BufferedReader, который оборачивает FileReader, и вызываем метод readLine(), который читает файл построчно с буферизацией.
BufferedReader также позволяет читать данные в других форматах, например, числа:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(reader.readLine());
Здесь мы создаем объект BufferedReader, который читает данные из стандартного потока ввода System.in (клавиатуры), и парсим прочитанную строку в целочисленное значение.
Итак, в общем случае BufferedReader позволяет эффективно читать данные из потока ввода с буферизацией, что улучшает производительность при работе с большими файлами или сетевыми соединениями.