<p>Java BufferedReader - это класс, который обеспечивает эффективное чтение текстовых данных из потока. Он предоставляет буферизованное чтение, что позволяет уменьшить количество физических обращений к потоку данных и, таким образом, повысить производительность приложения.</p>
<p>Простой пример использования BufferedReader в Java может выглядеть следующим образом:</p>
<pre><code class="java">
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Example {
public static void main(String[] args) {
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();
}
}
}
</code></pre>
<p>В данном примере создается экземпляр BufferedReader, который привязан к файлу "file.txt". Затем происходит чтение файла построчно с помощью метода <code>readLine()</code>. Цикл продолжается до тех пор, пока не будет достигнут конец файла (метод <code>readLine()</code> возвращает <code>null</code>).</p>
<p>Кроме того, BufferedReader предоставляет ряд полезных методов, которые могут быть использованы при обработке данных. Некоторые из них:</p>
<ul>
<li><code>read()</code> - читает один символ за раз из потока данных как целое число (значение символа в кодировке Unicode).</li>
<li><code>skip(long n)</code> - пропускает указанное количество символов.</li>
<li><code>lines()</code> - возвращает поток строк из BufferedReader.</li>
</ul>
<p>Теперь рассмотрим некоторые практические примеры использования методов BufferedReader:</p>
<ol>
<li>Чтение чисел из файла и их суммирование:</li>
</ol>
<pre><code class="java">
try (BufferedReader reader = new BufferedReader(new FileReader("numbers.txt"))) {
int sum = 0;
String line;
while ((line = reader.readLine()) != null) {
int number = Integer.parseInt(line);
sum += number;
}
System.out.println("Sum: " + sum);
} catch (IOException e) {
e.printStackTrace();
}
</code></pre>
<p>В данном примере из файла "numbers.txt" читаются числа, которые затем суммируются.</p>
<ol start="2">
<li>Чтение CSV файла и разбор данных:</li>
</ol>
<pre><code class="java">
try (BufferedReader reader = new BufferedReader(new FileReader("data.csv"))) {
String line;
while ((line = reader.readLine()) != null) {
String[] data = line.split(",");
String name = data[0];
int age = Integer.parseInt(data[1]);
double salary = Double.parseDouble(data[2]);
System.out.println("Name: " + name + ", Age: " + age + ", Salary: " + salary);
}
} catch (IOException e) {
e.printStackTrace();
}
</code></pre>
<p>В данном примере CSV файл "data.csv" содержит строки с данными, разделенными запятыми. Метод <code>split(",")</code> используется для разделения строки на массив строк по разделителю запятая. Далее данные преобразуются в соответствующий тип данных и выводятся на консоль.</p>
<p>Это лишь некоторые из многих возможностей, которые предоставляет класс BufferedReader. Использование данного класса в Java позволяет эффективно считывать данные из потока, выполнять обработку этих данных и взаимодействовать с ними в программе. Надеюсь, что эта информация помогла вам лучше понять, как использовать BufferedReader в Java.</p>