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内存模型之happens-before概念详解
Jun 13 Java/Android
Java中PriorityQueue实现最小堆和最大堆的用法
Jun 27 Java/Android
Springboot集成阿里云OSS上传文件系统教程
Jun 28 Java/Android
Java基础-封装和继承
Jul 02 Java/Android
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
Jul 26 Java/Android
浅谈Java父子类加载顺序
Aug 04 Java/Android
java executor包参数处理功能 
Feb 15 Java/Android
springboot+zookeeper实现分布式锁
Mar 21 Java/Android
SpringCloud项目如何解决log4j2漏洞
Apr 10 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 Java/Android
MyBatis在注解上使用动态SQL方式(@select使用if)
Jul 07 Java/Android
Java 超详细讲解十大排序算法面试无忧
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
SpringCloud Function SpEL注入漏洞分析及环境搭建
SpringBoot中获取profile的方法详解
Apr 08 #Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Java 垃圾回收超详细讲解记忆集和卡表
Java 常见的限流算法详细分析并实现
You might like
PHP 字符串操作入门教程
2006/12/06 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
JS 常用校验函数
2009/03/26 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
js中document.write的那点事
2014/12/12 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
python学习之面向对象【入门初级篇】
2017/01/21 Python
django实现用户登陆功能详解
2017/12/11 Python
python实现验证码识别功能
2018/06/07 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
tornado+celery的简单使用详解
2019/12/21 Python
Python sep参数使用方法详解
2020/02/12 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
土建资料员岗位职责
2014/01/04 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
年度考核自我鉴定
2014/02/02 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
司仪主持词两篇
2014/03/22 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL
mysqldump进行数据备份详解
2022/07/15 MySQL