黑马程序员技术交流社区
标题:
关于BufferedOutputStream写数据的效率问题·!!
[打印本页]
作者:
hanchun776
时间:
2014-7-15 18:41
标题:
关于BufferedOutputStream写数据的效率问题·!!
在学到BufferedOutputStream的时候,老师说Buffered就为了提高写的效率而进行的缓存。效果类似于BufferedReader.
当时也是那么认为的,但是后来我自己做了一个复制视频的小程序,准备把“老友记第四季”的视频去掉原来啰嗦的文件名,统一用 count++ 序号代替。
可是程序运行之后的结果大大出乎我的意料,用
BufferedOutputStrea
和
BufferedInputStream
进行读写,一个121MB的视频,竟然用了
2分钟
左右,
同条件下,用Windows的复制方法只要
15秒
钟左右,这可是
七八倍
的差距呀,
还有就是,如果用自己编写的MyBuffered的话,把缓冲区定义为
byte[] bt = new byte[1024];
,这样的效率都比用BufferedOutputStrea和BufferedInputStream进行读写来的快的多。
请问这时为什么呢?不可能是java公司故意的吧,这样的效率还不如直接用FileOutputStream和FileInputStream算了!!根本没什么意义嘛!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2