Код Java Tutorials показал пример использования DataOutputStream
класса и DataInputStream
класса.
Фрагмент кода выглядит следующим образом:
//..
out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));
//..
in = new DataInputStream(new BufferedInputStream(new FileInputStream(dataFile)));
//..
Мне было интересно, почему требуется создать новый BufferedOutputStream
, когда мы создаем новый DataOutputStream
?
Разве это не избыточно, поскольку эта альтернатива также работает? : new DataOutputStream(new FileOutputStream(dataFile));
Как утверждает на этой странице , DataStreams уже предоставляет поток байтов вывода буферизованного файла. Так действительно ли требуется двойная буферизация?
Я изменил 2 строки кода (вывод и ввод), убрав BufferedOutputStream
и BufferedInputStream
, и все, кажется, работает просто отлично, поэтому мне было интересно, какова цель BufferedOutputStream
и BufferedInputStream
?