JDK 21 Какой смысл заключать FileReader/InputStreamReader в BufferedReader?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JDK 21 Какой смысл заключать FileReader/InputStreamReader в BufferedReader?

Сообщение Anonymous »

На сайте Java Tutorials показан этот пример при обсуждении потоков символов:

Код: Выделить всё

//The CopyLines example invokes BufferedReader.readLine and PrintWriter.println to do input and output one line at a time.

import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;

public class CopyLines {
public static void main(String[] args) throws IOException {

BufferedReader inputStream = null;
PrintWriter outputStream = null;

try {
inputStream = new BufferedReader(new FileReader("xanadu.txt"));
outputStream = new PrintWriter(new FileWriter("characteroutput.txt"));

String l;
while ((l = inputStream.readLine()) != null) {
outputStream.println(l);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}
}
Теперь, какой смысл оборачивать класс FileReader (или InputStreamReader) в BufferedReader, если они уже реализуют внутренний механизм буферизации? Их внутренний буфер также имеет такой же размер (8192 байта). Приведенный пример больше не актуален в JDK 21?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -a-buffere
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»