字节缓冲输入流(BufferedInputStream)
该类继承FilterInputStream
BufferedInputStream是一个比FileInputStream更粗的管道,该管道的构造方法的参数是InputStream类型的,所以在铺设该粗管道之前,应该先铺设一个InputStream类型的细管道,再将此细管道对象传入粗管道的参数之中
输入准备:有个水厂,有小车
BufferedInputStream输入逻辑:
1.new一个InputStream类型的对象
nputStream fis = new FileInputStream("H:\\IO流实验\\test.txt");
2.将此对象作为参数传入BufferedInputStream管道的参数之中
BufferedInputStream bis = new BufferedInputStream(fis);
3.创建一个小车
byte[] car = new byte[1024];//一次装1024字节的数据,注意:并不是一次装的字节数越大越快,文件很大很大的时候单词读取的字节数很大的话速度就会变慢
4.打开水龙头,开始借助小车搬运,调用粗管道的read(byte[] b)的重载方法,传入小车
bis.read(car)
5.关闭水龙头(关流)
bis.close()
代码实现
public class Test {
public static void main(String[] args) {
try {
//1水厂:"H:\\IO流实验\\test.txt"
//2铺设管道
InputStream fis = new FileInputStream("H:\\IO流实验\\test.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
//3开水空头
//创建一辆小车
byte[] car = new byte[2];
int len=0;
while ((len=bis.read(car))!=-1){
System.out.println(len);
}
bis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}