2024年java基础 io

java基础 io目录 1 什么是缓冲流 2 缓冲流的分类 3 缓冲流的原理 4 缓冲流 API 4 1 缓冲字节输入输出流 4 1 缓冲字符输入输出流 5 案例 出师表排序 写入新的文件 6 原始流 缓冲流的性能分析 重点 1 什么是缓冲流 对原始数据进行包装 以提高原始流读写数据的性能 2 缓冲流的分类 BufferedInpu 字节缓冲输入流

大家好,我是讯享网,很高兴认识大家。



目录

    • 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. 原始流、缓冲流的性能分析【重点】

字节数组越大越好,但是达到一定程度,对性能的影响微乎其微。

测试用例:

  • 分别使用原始的字节流,以及字节缓冲流复制一个很大的视频

测试步骤:

  1. 使用低级的字节流按照一个一个字节的形式复制文件。
  2. 使用低级的字节流按照字节数组的形式复制文件。
  3. 使用高级的缓冲字节流按照一个一个字节的形式复制文件。
  4. 使用高级的缓冲字节流按照字节数组的形式复制文件。
 
小讯
上一篇 2025-01-02 21:22
下一篇 2024-12-28 20:09

相关推荐

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