一)BufferedInputStream输入缓冲流
实现原理:当创建BufferedInputStream时,会创建一个内部缓冲区数组。 当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次有多个字节。 mark操作会记住输入流中的一点,并且reset操作会导致从最近的mark操作之后读取的所有字节在从包含的输入流中取出新的字节之前重新读取。
初始化构造方法:
1、BufferedInputStream(InputStream in)
创建一个BufferedInputStream并保存其参数,输入流 in,供以后使用。
2、BufferedInputStream(InputStream in, int size)
创建一个BufferedInputStream具有指定缓冲区大小,并保存其参数,输入流 in,供以后使用。
二)BufferedOutputStream输出缓冲流
实现原理:当创建BufferedOutputStream时,会创建一个内部缓冲区数组。应用程序可以向底层输出流写入字节数据,当写入数据时,可以不用每次都去调用底层方法,而是直接从缓存区获取数据。
初始化构造方法:
1、BufferedOutputStream(OutputStream out)
创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
2、BufferedOutputStream(OutputStream out, int size)
创建一个新的缓冲输出流,以便以指定的缓冲区大小将数据写入指定的底层输出流。
三)BufferedInputStream和BufferedOutputStream使用
方式一:字节输入流和字节输出流实现文件拷贝,一次读取一个字节数据,不建议使用。
/**