BufferedInputStream的缓冲区大小

use*_*974 2 java size buffer bufferedinputstream

如何确定Buffer的大小,同时使用Buffered Input Stream读取批量文件?它是基于文件大小吗?我正在使用,

byte[] buf = new byte[4096];
Run Code Online (Sandbox Code Playgroud)

如果我增加缓冲区大小,它会快速读取?

use*_*421 9

默认情况下,故意未记录,是8192字节.除非你有令人信服的理由改变它,否则不要改变它,

  • @user2507974 这不会是一个问题。8 K 的缓冲区大小只是文件一大块的最大空间。它不需要使用所有空间。如果您使用 100 万字节的缓冲区复制 1 字节的文件,您将浪费 999999 字节的 RAM,但复制仍然可以正常工作。一般来说,不要担心浪费少于 50 KiB,除非它是程序中非常紧张的地方。如果程序运行缓慢或使用过多内存,请使用分析器来说明原因。 (2认同)