Вы можете задать конструктору BufferedOutputStream
параметр int для размера буфера.В моем сценарии у меня есть один процесс записи на диск и чтения процесса с диска.Наличие буфера по умолчанию в 8192 байта вызывает высокую фрагментацию больших файлов.
Теперь мне было интересно, смогу ли я уменьшить фрагментацию, если я увеличу размер буфера до 1 Мб.
Я думаю, что это должноРабота.Но будет ли BufferedOutputStream
по-прежнему уважать мой буфер, если я всегда называю BufferedOutputStream.write(smallBuffer,0,i); // i being smaller than 8192
, я маленький, потому что я ловлю небольшие пакеты (8192 байта) по сети.Но я хочу, чтобы BufferedOutputStream
действительно много буферизовал и не решал сбрасывать ранее?
Достаточно ли "1013 *" глупо, чтобы ждать, пока буфер не заполнится или не будет вызван flush()
.Или установлен механизм промывки по времени?