目录
-
- 1. 什么是缓冲流
- 2. 缓冲流的分类
- 3. 缓冲流的原理
- 4. 缓冲流API
-
- 4.1 缓冲字节输入输出流
- 4.1 缓冲字符输入输出流
- 5. 案例-出师表排序-写入新的文件
- 6. 原始流、缓冲流的性能分析【重点】
1. 什么是缓冲流
对原始数据进行包装,以提高原始流读写数据的性能
2. 缓冲流的分类
- BufferedInputStream(字节缓冲输入流)
- BufferedOutputStream(字节缓冲输出流)
- BufferedReader(字符缓冲输入流)
- BufferedWriter(字符缓冲输出流)
3. 缓冲流的原理
字节缓冲输入流自带了8KB的缓冲池;字节缓冲输出流也自带了8KB的缓冲池。
假设我们要将D盘16KB的数据复制到C盘当中。
创建一个字节数组,用于读取1KB的数据。
采用原始的文件输入输出流,要从D盘读取16次,写入C盘16次。
采用缓冲流,可以一次读取写入8KB的数据,也就是2次。
缓冲流将数据存储在内存中,所以比直接从硬盘中读取数据要快得多。

4. 缓冲流API
4.1 缓冲字节输入输出流
构造器说明public BufferedInputStream(InputStream inputStream)把低级的字节输入流包装成一个高级的缓冲字节输入流,从而提高读取数据的效率public BufferedOutputStream(OutputStream outputStream)把低级的字节输出流包装成一个高级的缓冲字节输出流,从而提高写数据的效率
讯享网
4.1 缓冲字符输入输出流
- 字符缓冲输入流
构造器说明public BufferedReader(Reader reader)把低级的字符输入流包装成字符缓冲输入流管道,从而提升字符输入流读写字符数据的性能
方法说明public String readLine()读取一行数据返回,如果没有数据可读了,会返回Null
讯享网
- 字符缓冲输出流
构造器说明public BufferedWriter(Writer writer)把低级的字符输出流包装成字符缓冲输出流管道,从而提升字符输出流读写字符java基础 io数据的性能
方法说明public void newLine()换行
5. 案例-出师表排序-写入新的文件
讯享网
6. 原始流、缓冲流的性能分析【重点】
字节数组越大越好,但是达到一定程度,对性能的影响微乎其微。
测试用例:
- 分别使用原始的字节流,以及字节缓冲流复制一个很大的视频
测试步骤:
- 使用低级的字节流按照一个一个字节的形式复制文件。
- 使用低级的字节流按照字节数组的形式复制文件。
- 使用高级的缓冲字节流按照一个一个字节的形式复制文件。
- 使用高级的缓冲字节流按照字节数组的形式复制文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6928.html