12.包装流概述和缓冲流原理

处理流/包装流(相对于节点流更高级)

1:隐藏了底层的节点流的差异,并对外提供了更方便的输入/输出功能,让我们只关心高级流的操作.

2:使用处理流包装了节点流程序直接操作处理流,让节点流与底层的设备做IO操作.

3:只需要关闭处理流既可.

包装流如何区分:写代码的时候,发现创建对象的时候,需要传递另一个流对象.
new 包装流(流对象);


什么是缓冲流:

是一个包装流,目的起缓冲作用.
BufferedInputStream:
BufferedOutputStream:
BufferedReader:
BufferedWriter:

缓冲流的目的:

操作流的时候,习惯定义一个byte/char数组.
int read();每次都从磁盘文件中读取一个字节,直接操作磁盘文件性能极低.

解决方案:

定义一个数组作为缓冲区.byte[] buffer = new byte[1024];改数组其实就是一个缓冲区.
一次性从磁盘文件中读取1024个字节.如此一来,操作磁盘文件的次数少了,性能得以提升.

SUN提供的缓存区的大小是8192(1024*8).

你可能感兴趣的:(12.包装流概述和缓冲流原理)