当前位置:网站首页 > Java基础 > 正文

java基础 io



目录

    • 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. 使用高级的缓冲字节流按照字节数组的形式复制文件。
 

  • 上一篇: java项目基础实战
  • 下一篇: java基础155
  • 版权声明


    相关文章:

  • java项目基础实战2025-04-20 17:10:04
  • java ee需要什么基础2025-04-20 17:10:04
  • java零基础自学教程免费2025-04-20 17:10:04
  • java基础循环举例2025-04-20 17:10:04
  • java基础实验目的2025-04-20 17:10:04
  • java基础1552025-04-20 17:10:04
  • java基础继承讲解2025-04-20 17:10:04
  • java类基础2025-04-20 17:10:04
  • java基础没学完2025-04-20 17:10:04
  • java 基础方法2025-04-20 17:10:04