当使用缓冲输入流读取批量文件时,如何确定缓冲区的大小?是否基于文件大小?我正在使用以下代码:
byte[] buf = new byte[4096];
如果我增加缓冲区大小,它会更快地读取吗?
当使用缓冲输入流读取批量文件时,如何确定缓冲区的大小?是否基于文件大小?我正在使用以下代码:
byte[] buf = new byte[4096];
如果我增加缓冲区大小,它会更快地读取吗?
默认值为8192字节,这是有意不想公开的。除非您有充分的理由需要更改它,否则请不要更改。
你展示的是你读入(数组)的“字节大小”。
如果你正在从FileInputStream(即非缓冲)中读取,那么更改该大小将更改读取大小。
这与BufferedInputStream使用的内部缓冲区不同。它没有getter,但您可以在构造函数中指定大小并从那里“记住它”。默认值为8K,可能不是最优的。