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项目中控制台日志的保存配置操作
Jun 18 Java/Android
Java SSH 秘钥连接mysql数据库的方法
Jun 28 Java/Android
java解析XML详解
Jul 09 Java/Android
Android自定义ScrollView实现阻尼回弹
Apr 01 Java/Android
Java中Quartz高可用定时任务快速入门
Apr 03 Java/Android
springboot用户数据修改的详细实现
Apr 06 Java/Android
Android开发实现极为简单的QQ登录页面
Apr 24 Java/Android
Java由浅入深通关抽象类与接口(下篇)
Apr 26 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
springboot+rabbitmq实现智能家居实例详解
Jul 23 Java/Android
java实现web实时消息推送的七种方案
Jul 23 Java/Android
volatile保证可见性及重排序方法
Aug 05 Java/Android
Java 超详细讲解十大排序算法面试无忧
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
SpringCloud Function SpEL注入漏洞分析及环境搭建
SpringBoot中获取profile的方法详解
Apr 08 #Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Java 垃圾回收超详细讲解记忆集和卡表
Java 常见的限流算法详细分析并实现
You might like
也谈 PHP 和 MYSQL
2006/10/09 PHP
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
基于php判断客户端类型
2016/10/14 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
javascript中的面向对象
2017/03/30 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
基于Python中求和函数sum的用法详解
2018/06/28 Python
Python变量访问权限控制详解
2019/06/29 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
护士感人事迹
2014/05/01 职场文书
个人担保书格式范文
2014/05/12 职场文书
单位委托书格式范本
2014/09/29 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
先进党员事迹材料
2014/12/24 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
win10清理dns缓存
2022/04/19 数码科技