FileInputStream和BufferedInputStream
?
万恶的javaeye,编辑器能不能优化下,每次修改样式都变形了。
?
FileInputStream属于数据源
BufferedInputStream属于FileInputStream的一个装饰
?
?
BufferedInputStream?有个内部缓冲区当read时会先把缓冲区填满,然后下次读取是直接从缓冲区读取。当读取的位置大于缓冲区时会再一次加载缓冲区。
?
read()和read(byte[]?buf,int?off, int?len)处理方式一样,区别在于后者一次返回多个数据,但是同样都是先放入缓冲区,然后再读取。
?????? System.out.println("io end"+new Date());
??? }
?
文件大概有1G,用buffer大概用了20秒,用原始方式等了1分钟还没完,直接强制终止。
1 楼 xuhang1128 2011-12-28 可是如果把ioTest方法里面的缓冲区调大,比如和BufferedInputStream里面默认的缓冲区一样大, byte[] buffer = new byte[1024*8];好像速度也差不多啊?咋回事啊 2 楼 benx 2011-12-31 xuhang1128 写道可是如果把ioTest方法里面的缓冲区调大,比如和BufferedInputStream里面默认的缓冲区一样大, byte[] buffer = new byte[1024*8];好像速度也差不多啊?咋回事啊