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 相关文章推荐
springcloud之Feign超时问题的解决
Jun 24 Java/Android
Java实现多文件上传功能
Jun 30 Java/Android
Java并发编程必备之Future机制
Jun 30 Java/Android
logback 实现给变量指定默认值
Aug 30 Java/Android
详解Java七大阻塞队列之SynchronousQueue
Sep 04 Java/Android
Java 在生活中的 10 大应用
Nov 02 Java/Android
springboot入门 之profile设置方式
Apr 04 Java/Android
Java中的继承、多态以及封装
Apr 11 Java/Android
Java设计模式中的命令模式
Apr 28 Java/Android
SpringCloud超详细讲解Feign声明式服务调用
Jun 21 Java/Android
IDEA中sout快捷键无效问题的解决方法
Jul 23 Java/Android
Java Redisson多策略注解限流
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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
php输入流php://input使用浅析
2014/09/02 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP 芝麻信用接入的注意事项
2016/12/01 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
python基于queue和threading实现多线程下载实例
2014/10/08 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
基于python使用tibco ems代码实例
2019/12/20 Python
基于Python的OCR实现示例
2020/04/03 Python
基于python实现计算两组数据P值
2020/07/10 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
Python中如何定义一个函数
2016/09/06 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
办公室文员自荐书
2014/02/03 职场文书
担保书怎么写
2014/04/01 职场文书
介绍信模板
2015/01/31 职场文书