Java输入、出缓冲流BufferedInputStream、BufferedOutPutStream测试
在使用IO流对文件进行复制或移动时,有一个常规用法:
即:使用缓冲流并且再声明一个8kb的字节数组用做缓冲处理。如图(文件大小900M):
疑问:既然说缓冲流就是因为本身内部声明有一个8kb的缓冲,那我们为何再次声明一个8kb的缓冲数组?我是否可以尝试不自己再次声明这个缓冲数组?于是做了如下的测试:
新的疑问:那么我不使用缓冲流,直接使用文件输入输出流,再自己声明一个缓冲数组,会是怎么样的呢?于是做了下图测试:
那么再试一下,不使用缓冲流且不自己声明缓冲数组的文件复制,如下图:
我将这几个方法再main方法中运行:
得到结果:
可以得到对比:
结论:无论是否使用缓冲流,自己都应该再声明一个缓冲数组来使用。