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 相关文章推荐
Java 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
Java实战之用Swing实现通讯录管理系统
Jun 13 Java/Android
Springboot如何使用logback实现多环境配置?
Jun 16 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
springboot中的pom文件 project报错问题
Jan 18 Java/Android
IDEA 2022 Translation 未知错误 翻译文档失败
Apr 24 Java/Android
Java 写一个简单的图书管理系统
Apr 26 Java/Android
Spring Data JPA框架的核心概念和Repository接口
Apr 28 Java/Android
Android开发手册自定义Switch开关按钮控件
Jun 10 Java/Android
Spring Boot 的创建和运行示例代码详解
Jul 23 Java/Android
Android实现获取短信验证码并自动填充
May 21 Java/Android
Java 超详细讲解十大排序算法面试无忧
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
SpringCloud Function SpEL注入漏洞分析及环境搭建
SpringBoot中获取profile的方法详解
Apr 08 #Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Java 垃圾回收超详细讲解记忆集和卡表
Java 常见的限流算法详细分析并实现
You might like
Cygwin中安装PHP方法步骤
2015/07/04 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
FireFox中textNode分片的问题
2007/04/10 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
详解Vue中watch的详细用法
2018/11/28 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
js实现登录时记住密码的方法分析
2020/04/05 Javascript
Python中使用logging模块打印log日志详解
2015/04/05 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
UDP协议功能
2013/01/06 面试题
标准毕业生自荐信范文
2013/11/04 职场文书
项目副经理岗位职责
2013/12/30 职场文书
病危通知单
2015/04/17 职场文书
家长会后的感想
2015/08/11 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
Go语言怎么使用变长参数函数
2022/07/15 Golang