※ 目的地
提供缓存功能,接受到其他流传入的字节,缓存起来,read方法读的时候从缓存中读到的。
BufferedInputStream类覆盖了被过滤的输入流的读数据行为,利用缓冲区来提高读数据的效率。BufferedInputStream类先把一批数据读入到缓冲区,接下来 read()方法只需要从缓冲区内获取数据,就能减少物理性读取数据的次数。
. BufferedInputStream(InputStream in)——参数in指定需要被过滤的输入流。
. BufferedInputStream(InputStream in, int size)——参数in指定需要被过滤的输入流。参数size指定缓冲区的大小,以字节为单位。
※ BufferedInputStream缓存输入流
package com.briup.IO;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class BufferedInputStreamTest {
public static void main(String[] args) {
//提供缓存功能,接受到其他流传入的字节
//缓存起来,read方法读的时候从缓存中读到的
BufferedInputStream bis=null;
//InputStream is=System.in;
FileInputStream fis=null;
try {
fis=new FileInputStream("src/com/briup/IO/IO.txt");
//先将得到的字节流缓存在buf数组中,
//调用read方法直接从缓存中取
bis=new BufferedInputStream(fis);
long start_date=System.currentTimeMillis();
int len=0;
byte[] b=new byte[1024];
while((len=bis.read(b))!=-1){
// System.out.write(len);
System.out.write(b, 0, len);
}
long end_date=System.currentTimeMillis();
System.out.println("总的时间:"+(end_date-start_date));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}