java 缓冲流+原理图解

java 缓冲流

什么是java缓冲流?

缓冲流也叫高效流,是对四个基本的FileXxx流的增强,按照数据类型分类: 字节缓冲流 :BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 基本原理: 是在创建流对象的时候,会创建一个内置默认大小的缓冲区数组,减少系统IO次数,从而提高读写效率

原理图解

这里用一段比喻你们可能会更加好理解

一个京东的快递小哥,开始器自行车送快递,一趟只能送一个,但是后来好老板刘强东看他们太幸苦了,给他们配备了一辆五菱宏光,一次可以送好几十个,这就大大提高了效率

字节缓冲流

public BufferedInputStream(InputStream in) :创建一个 新的缓冲输入流。 public BufferedOutputStream(OutputStream out) : 创建一个新的缓冲输出流。

构造举例

// 创建字节缓冲输入流
 BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt")); 
// 创建字节缓冲输出流 
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("bos.txt"));

字符缓冲流

构造方法 public BufferedReader(Reader in) :创建一个 新的缓冲输入流。 public BufferedWriter(Writer out) : 创建一个新的缓冲输出流

构造举例

// 创建字符缓冲输入流
 BufferedReader br = new BufferedReader(new FileReader("br.txt")); 
// 创建字符缓冲输出流
 BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));

BufferedReader: public String readLine() : 读一行文字。 BufferedWriter: public void newLine() : 写一行行分隔符,由系统属性定义符号。

以上就是缓冲流的基本原理及其图解,如有错误还请各位批评指正,喜欢我的可以点赞收藏哦,我会不定期更新文章各位也可以关注我

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java File类基础解析 使用递归来遍历目录 2

    一只胡说八道的猴子
  • Java实现一个简单的文件上传案例

    实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据...

    一只胡说八道的猴子
  • Java File类基础解析 1

    public File(String pathname) :通过给定的路径名字符转换为抽象路径名来创建新的File实例

    一只胡说八道的猴子
  • [番外]理一理Android多文件上传那点事

    张风捷特烈
  • EasyExcel快速读写Excel数据

    ps: 其实本人并没有对比过POI,只是网络上资料都有这么一说,再对比了GitHub的star数,最后直接选用了EasyExcel

    十毛
  • 从EFCore上下文的使用到深入剖析DI的生命周期最后实现自动属性注入

    最近在把自己的一个老项目从Framework迁移到.Net Core 3.0,数据访问这块选择的是EFCore+Mysql。使用EF的话不可避免要和DbCont...

    HOHO
  • Java IO详解

    Tanyboye
  • 设计模式之——组合模式 Composite Pattern

    精简之后的代码显得格外简洁,而且环境类只需要直接和抽象类 Corp 关联就可以了,代码如下:

    wsuo
  • java基础第十五篇之IO流和递归算法

    缓冲区会在内存中创建一个8192容量的字节数组,内存的运算效率比硬盘要高的多所有只要降低到硬盘的读写次数就会提高效率.

    海仔
  • Retrofit2 & RxJava2实现单文件和多文件上传

    用户1130025

扫码关注云+社区

领取腾讯云代金券