BufferedInputStream与BufferedOutputStream是java提供的两个缓冲区包装类,不管底层系统是否使用了缓冲区,这两个类在自己的实例对象中创建缓冲区。这种缓冲区与底层系统提供的缓冲区的区别:底层系统提供的系统缓冲区直接与目标设备交换数据,而包装类提供的缓冲区需要调用包装类所包装的输出流对象将缓冲区的数据写入到目标或底层缓冲区中,或者调用包装类所包装的输入流对象从目标设备或底层缓冲区中读取数据到包装类的缓冲区中。底层缓冲区可以一次从硬盘读取大量数据或者一次向硬盘写入大量数据,而BufferedInputStream一次只能从底层缓冲区中读取一个数据,将读取到数据缓存到BufferedOutputStream缓冲区中,然后一次读取多个数据。 |
|