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如何集成swagger组件
Jun 21 Java/Android
解决ObjectMapper.convertValue() 遇到的一些问题
Jun 30 Java/Android
如何给HttpServletRequest增加消息头
Jun 30 Java/Android
详细了解java监听器和过滤器
Jul 09 Java/Android
JVM之方法返回地址详解
Feb 28 Java/Android
Dubbo+zookeeper搭配分布式服务的过程详解
Apr 03 Java/Android
Android Flutter实现3D动画效果示例详解
Apr 07 Java/Android
Java 通过手写分布式雪花SnowFlake生成ID方法详解
Apr 07 Java/Android
Java 垃圾回收超详细讲解记忆集和卡表
Apr 08 Java/Android
Spring Security动态权限的实现方法详解
Jun 16 Java/Android
Spring Cloud OpenFeign模版化客户端
Jun 25 Java/Android
Java结构型设计模式之组合模式详解
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使用pecl方式安装扩展操作示例
2019/08/12 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
jquery 通过name快速取值示例
2014/01/24 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
对python中的pop函数和append函数详解
2018/05/04 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
python hashlib加密实现代码
2019/10/17 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
python 基于opencv操作摄像头
2020/12/24 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
爱国演讲稿400字
2014/05/07 职场文书
三八妇女节演讲稿
2014/05/27 职场文书
供用电专业求职信
2014/07/07 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL