Java输入、出缓冲流BufferedInputStream、BufferedOutPUtStream测试

Java输入、出缓冲流BufferedInputStream、BufferedOutPutStream测试

问题:

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

结果

可以得到对比:
Java输入、出缓冲流BufferedInputStream、BufferedOutPUtStream测试结论:无论是否使用缓冲流,自己都应该再声明一个缓冲数组来使用。

上一篇:Java FileNotFindException问题:


下一篇:Logic2Text: High-Fidelity Natural Language Generation from Logical Forms 翻译