BufferedInputStream是对输入流的封装,问什么用这个类就可以提高速度呢?
因为减少了文件的读取次数,减少了io操作文件的次数。
举个例子,copyFile的操作中,我们的写法是,在while中,读一次byte[],立即写入到文件中。
但是用BufferedInputStream,就可以将多次读取到的数据,先放进缓冲中,也就是内存中,当缓冲达到设置的大小时,就会写入到文件一次。
这样就减少了写入文件的次数,提高了速度。
这样一解释,我们可以理解为,程序用空间换时间,目的是提高速度。
程序设计中有很多这种类似的设计,比如Android中图片加载库,用到的3级缓存。