专栏首页孙小白提升文件的读写效率--缓冲流

提升文件的读写效率--缓冲流

缓冲流概述

  • 缓冲流就是带有缓冲区的输入输出流
  • 缓冲流可以显著减少我们对IO访问的次数,保护硬盘!
  • 缓冲流本身就是处理流(包裹流),所以缓冲流必须依附于节点流(原始流)
  • 处理流是包裹在原始节点上的流,相当于包裹在管道上的管道

创建字符流读文件对象:

BufferedReader br = new BufferedReader(new FileReader("readme.txt"));

创建字符流写文件对象:

BufferedWriter bw = new BufferedWriter(new FileWriter("dest.txt"));

使用while循环读写数据:

char[] chs = new char[2048];
int len;
while((len = br.read(chs)) != -1) {
bw.write(chs);
}
bw.flush();//记得刷新缓冲流

关闭资源:

br.close();
bw.close();

当然,用缓冲流拷贝文件也是可以的,效率很高!

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java的IO流

    注:抽象流实质上就是抽象类,实际上使用到的是继承于它们的子类!FileInputStream、FileOutputStream、FileReader、FileW...

    爱学习的孙小白
  • Java中实现多线程继承Thread类与实现Runnable接口的区别

    1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中

    爱学习的孙小白
  • 大数据面试题

    ①列举你使用的常用指令? ②怎么查看服务是否开启?后面的参数都是什么意思? ③怎么查看服务器内存使用情况? ④日志查看指令? ⑤跨机房怎么传输文件?

    爱学习的孙小白
  • ABP入门系列(5)——展现层实现增删改查

    这一章节将通过完善Controller、View、ViewModel,来实现展现层的增删改查。最终实现效果如下图: ? 一、定义Controller ABP对A...

    圣杰
  • MySQL如何使用内存?

    MySQL会通过使用内存缓存和缓冲来提高数据库的性能。MySQL里面与内存相关参数的默认值是基于一台使用512M内存的虚拟服务器设定的,因此,当用户使用MySQ...

    MySQLSE
  • python轮询机制控制led实例

    以上这篇python轮询机制控制led实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    砸漏
  • Flutter中构建布局 顶

    然后本指南回过头来解释Flutter的布局方法,并说明如何在屏幕上放置一个小部件。 在讨论如何水平和垂直放置小部件之后,会介绍一些最常见的布局小部件。

    南郭先生
  • Vue2.0 数据抓取及Swiper组件开发

    本次的系列博文的知识点讲解和代码,主要是来自于 黄轶 在慕课网的 Vue 2.0 高级实战-开发移动端音乐WebApp 课程,由个人总结并编写,其代码及知识点...

    Nian糕
  • 【代码分享】系列之朴素贝叶斯(github clone)

    前言 朴素贝叶斯是一种使用概率论来分类的算法。其中朴素:各特征条件独立;贝叶斯:根据贝叶斯定理。 根据贝叶斯定理,对一个分类问题,给定样本特征x,样本属于类别y...

    昱良
  • 开始使用-编写你的第一个Flutter应用程序 顶

    这是创建您的第一个Flutter应用程序的指南。 如果您熟悉面向对象的代码和基本编程概念(如变量,循环和条件),则可以完成本教程。 您不需要以前使用Dart或移...

    南郭先生

扫码关注云+社区

领取腾讯云代金券