Java字符缓冲流BufferedWriter


Posted in Java/Android onApril 09, 2022

一、字符缓冲流

BufferedWriter:文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入。可以指定缓冲区大小,或者可以接受默认大小。 默认值足够大,可用于大多数用途。

构造方法:

BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz) 创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。

BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。可以指定缓冲区大小,或者可以使用默认大小。 默认值足够大,可用于大多数用途。

构造方法:

BufferedReader(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz) 创建使用指定大小的输入缓冲区的缓冲字符输入流。

例子-字符缓冲流实现复制Java文件:

public class BufferedWriteReaderDemo {
    public static void main(String[] args) throws IOException {
        //使用字符缓冲流实现一个文件的复制
        //使用子类FileWrite\FileReader替代OutputStreamWrite\InputStreamReader
        BufferedReader br=new BufferedReader(new FileReader("E:\\abc.txt"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\abcdef.txt"));
        //读取数据
//        int len;
//        while ((len=br.read())!=-1){
//            bw.write(len);
//        }
        int len;
        char[] ch=new char[1024];
        while ((len=br.read(ch))!=-1){
            bw.write(ch);
        }
        //释放资源
        br.close();
        bw.close();
    }
}

二、字符缓冲流的特有方法

BufferedWriter:

void newLine():写一行行分隔符,行分隔符字符串由系统属性定义

BufferedReader:

public String readLine():读一行文字。结果包含行的内容的字符串,不包括任何行终止字符;如果流的结尾已经到达,则值为null

例子-字符缓冲流特有方法实现复制Java文件:

public class Demo02 {
    public static void main(String[] args) throws IOException {
        //字符缓冲流特有方法实现复制Java文件
        BufferedReader br=new BufferedReader(new FileReader("E:\\abc.txt"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\aaa.txt"));
        //读写数据
        String line;
        while ((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();//换行
            bw.flush();//刷新缓存区
        }
       
        //释放资源
        br.close();
        bw.close();
    }
}

字符流只能复制文本数据,有5种方式,一般采用字符缓冲流的特有功能

Java/Android 相关文章推荐
springboot集成flyway自动创表的详细配置
Jun 26 Java/Android
分析ZooKeeper分布式锁的实现
Jun 30 Java/Android
gateway网关接口请求的校验方式
Jul 15 Java/Android
关于springboot 配置date字段返回时间戳的问题
Jul 25 Java/Android
Java org.w3c.dom.Document 类方法引用报错
Aug 07 Java/Android
Java实现给Word文件添加文字水印
Feb 15 Java/Android
JavaWeb实现显示mysql数据库数据
Mar 19 Java/Android
java项目构建Gradle的使用教程
Mar 24 Java/Android
Java中的Kotlin 内部类原理
Jun 16 Java/Android
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
Jul 15 Java/Android
Springboot集成kafka高级应用实战分享
Aug 14 Java/Android
Java中的Kafka为什么性能这么快及4大核心详析
Sep 23 Java/Android
Java 超详细讲解十大排序算法面试无忧
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
SpringCloud Function SpEL注入漏洞分析及环境搭建
SpringBoot中获取profile的方法详解
Apr 08 #Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Java 垃圾回收超详细讲解记忆集和卡表
Java 常见的限流算法详细分析并实现
You might like
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
网友原创的PHP模板类代码
2008/09/07 PHP
PHP和.net中des加解密的实现方法
2013/02/27 PHP
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
Python中operator模块的操作符使用示例总结
2016/06/28 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Python算法之图的遍历
2017/11/16 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
django创建超级用户过程解析
2019/09/18 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
Python txt文件如何转换成字典
2020/11/03 Python
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
球队口号
2014/06/18 职场文书
学校消防安全责任书
2014/07/23 职场文书
学校会议通知范文
2015/04/15 职场文书
感谢师恩主题班会
2015/08/17 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers
springcloud整合seata
2022/05/20 Java/Android