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 相关文章推荐
MybatisPlus代码生成器的使用方法详解
Jun 13 Java/Android
如何解决springcloud feign 首次调用100%失败的问题
Jun 23 Java/Android
mybatis 获取无数据的字段不显示的问题
Jul 15 Java/Android
spring cloud 配置中心native配置方式
Sep 25 Java/Android
Java Spring 控制反转(IOC)容器详解
Oct 05 Java/Android
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
Jan 18 Java/Android
MybatisPlus EntityWrapper如何自定义SQL
Mar 22 Java/Android
java项目构建Gradle的使用教程
Mar 24 Java/Android
Android自定义scrollview实现回弹效果
Apr 01 Java/Android
Java中Quartz高可用定时任务快速入门
Apr 03 Java/Android
零基础学java之带返回值的方法的定义和调用
Apr 10 Java/Android
JDK8中String的intern()方法实例详细解读
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
把PHP安装为Apache DSO
2006/10/09 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
js 中 document.createEvent的用法
2010/08/29 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
vue2.x select2 指令封装详解
2017/10/12 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
深入解析Python中的变量和赋值运算符
2015/10/12 Python
python中函数默认值使用注意点详解
2016/06/01 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python过滤序列元素的方法
2020/07/31 Python
python之语音识别speech模块
2020/09/09 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
美国在线珠宝商店:SZUL
2017/02/11 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
新任教师自我鉴定
2014/02/24 职场文书
大学军训感言200字
2014/02/26 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
nginx配置限速限流基于内置模块
2022/05/02 Servers
PHP 时间处理类Carbon
2022/05/20 PHP
python数字图像处理之图像的批量处理
2022/06/28 Python
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技