В коде 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));
Как эта страница утверждает, что DataStream уже предоставляет поток байтов с буферизованным файлом. Так нужна ли "двойная буферизация"?
Я изменил 2 строки кода (вывод и ввод), убрав BufferedOutputStream
и BufferedInputStream
, и все, кажется, работает очень хорошо, поэтому мне было интересно, что является целью BufferedOutputStream
и BufferedInputStream
?