Я создал файл с 1 000 000 нулей (980 КБ) и измерил, как быстро его копировать в другой файл (используя буферизованный и небуферизованный как для ввода, так и для вывода) с размером буфера по умолчанию (8192 байта). Удивительно, но буферизация ввода...
Я проводил исследование для публикации в блоге, касающейся java.io.BufferedInputStream и буферов. Судя по всему, с годами значение по умолчанию выросло с жалких 512 байт до 8192 байтов в (самонадеянно) реализации Sun Java 7 и даже было явно указано...
BufferedInputStream извлекает байтовую информацию из входного потока. BufferedInputStream имеет буфер по умолчанию размером 8192 байта. Скажем, операция обрабатывает X-количество байтов из BufferedInputStream: мгновенно ли BufferedInputStream...
Имеет ли смысл всегда оборачивать InputStream как BufferedInputStream, если я знаю, является ли данный InputStream чем-то иным, чем буферизованным? >
Например:
InputStream is = API.getFromSomewhere()
if (!(is instanceof BufferedInputStream)) {...