BufferedReader в Java: как читать текстовые файлы и данные из сети
BufferedReader в Java - это класс, который позволяет считывать данные из потока ввода и буферизовать их, что обеспечивает более эффективное чтение.
Создание объекта BufferedReader осуществляется следующим образом:
java
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
В данном примере мы создаем объект BufferedReader, который считывает данные из потока ввода (System.in) и буферизует их.
Пример использования BufferedReader для чтения строк из файла:
java
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
В данном примере мы создаем объект BufferedReader, который считывает данные из файла по имени "file.txt". Затем мы используем метод readLine() для чтения строк из файла и выводим их на консоль.
Пример использования BufferedReader для чтения чисел из файла:
java
try (BufferedReader reader = new BufferedReader(new FileReader("numbers.txt"))) {
String line;
int sum = 0;
while ((line = reader.readLine()) != null) {
int number = Integer.parseInt(line);
sum += number;
}
System.out.println("Sum: " + sum);
} catch (IOException e) {
e.printStackTrace();
}
В данном примере мы используем метод parseInt() для преобразования строк в числа. Затем мы складываем все числа и выводим сумму на консоль.
Также можно использовать BufferedReader для чтения данных из сетевого потока.
java
try (Socket socket = new Socket("example.com", 80);
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
В данном примере мы создаем клиентский сокет и подключаемся к серверу "example.com" на порту 80. Затем мы используем объект BufferedReader для чтения ответа от сервера и выводим его на консоль.
Использование BufferedReadera в Java позволяет ускорить считывание данных за счет их буферизации. Это можно использовать для чтения данных из файлов, сетевых потоков и других источников данных.