新星计划day4【Java语言IO流】缓冲流的详解

🎉博客首页:痛而不言笑而不语的浅伤

🥳欢迎关注👍点赞收藏🎊留言

❤:热爱Java学习,期待一起交流!

🙏🏻作者水平很有限,如果发现错误,求告知,多谢!

🥰有问题可以私信交流!!!


目录

🚀☆引言☆

🚀一、缓冲流的概述和原理

概述:

原理:

🚀二、缓冲流的分类

🚀三、缓冲流的作用

作用:

注意:

🚀四、缓冲流的使用

4.1字节缓冲输入流【BufferedInputStream】

4.2字节缓冲输出流【BufferedOutputStream】

小练习

4.3字符缓冲输入流【BufferedReader】

4.4字符缓冲输出流【BufferedWriter】

小练习

🚀总结:


🚀☆引言☆

        大家好,我是痛而不言笑而不语的浅伤。上一章我们学习了Java语言IO流中的序列化流,本章我们一起来学习Java语言IO流中的缓冲流。这篇文章主要带大家从缓冲流的概述和原理,分类,作用以及使用步骤等几个方面学习JavaIO流中的缓冲流。文章来自我的专栏《JavaSE系列详解》中,想要学习更多JavaSE的其他内容,订阅专栏《JavaSE系列详解》。对文章中描述错误的希望大家积极指出,我会加以改正。

🚀一、缓冲流的概述和原理

概述:

        缓冲流也叫高效流,它可以对四个基本的字节流和字符流进行增强效果,达到提高数据的读写能力。就像是勇士穿上了一层铠甲一样。为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,减少系统IO次数,从而提高读写的效率。

图解:

原理:

        这个就好像是一个家庭饮水要从自来水厂输送。内存就好比一个家庭,磁盘就是自来水厂,而要输送水的管道就是IO流,如果我们只要用水,每次直接从自来水厂输送水,时间长,效率低。而缓冲区就是在家里放一个水桶,我们先把水存放进水桶,我们需要的时候直接从水桶取水,这样就提高了取水的效率。缓冲流也一样,先把数据读取到缓冲区,我们再从缓冲区刷新读写,这样就提高了读取的效率。

图解:

🚀二、缓冲流的分类

        因为是对四个基本的字节流和字符流做增强作用,缓冲流要“套接”在相应的节点流之上,所以按照数据类型分类也是四个:

字符缓冲输入流:BufferedInputStream

字节缓冲输出流:BufferedOutputStream

字符缓冲输入流:BufferedReader

字符缓冲输出流:BufferedWriter

🚀三、缓冲流的作用

作用:

        作用前面说了就是对四个基本的字节流和字符流做增强作用,从而提高对数据读写的效率。

当读取数据时,数据按块读入缓冲区,其后的读操作则直接访问缓冲区。

        当写入时,不会直接写到文件,先写到缓冲区中直到缓冲区写满,才会把缓冲区中的数据一次性写到文件里。使用方法flush()可以强制将缓冲区的内容全部写入输出流。

注意:

1.缓冲区不是越大越好,因为缓冲区占用的是内存,过大会严重占用内存。

2.一般默认的缓冲区为8M。

🚀四、缓冲流的使用

        既然我们说了,缓冲流分为四个:字节缓冲输入流、字符缓冲输出流、字符缓冲输入流、字符缓冲输出流。依次对它们做一个详细的使用。

4.

  • 59
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 74
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 74
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千掩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值