区别一:
FileInputStream是InputStream的子类,而BufferedInoutStream的子类,是InputStream的间接子类
代码如下:
区别二
在实现read()方法时,底层实现不相同,FileInputStream 是直接从磁盘读取数据,而BufferedInputStream 是从缓冲区中读取数据,他的底层维护了一块缓冲区容量8192个字节。每次读取内容时,从缓冲区里读取,效率更快
代码如下
BufferedInputStream 使用了装饰器模式
他的底层调用了FileInputStream read()方法,在读取数据之前,先调用read()方法,填满缓冲区。