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 相关文章推荐
手把手教你用SpringBoot将文件打包成zip存放或导出
Jun 11 Java/Android
图解排序算法之希尔排序Java实现
Jun 26 Java/Android
死磕 java同步系列之synchronized解析
Jun 28 Java/Android
Java 数组内置函数toArray详解
Jun 28 Java/Android
Springboot配置suffix指定mvc视图的后缀方法
Jul 03 Java/Android
小程序与后端Java接口交互实现HelloWorld入门
Jul 09 Java/Android
springboot集成springCloud中gateway时启动报错的解决
Jul 16 Java/Android
Log4j.properties配置及其使用
Aug 02 Java/Android
spring cloud eureka 服务启动失败的原因分析及解决方法
Mar 17 Java/Android
JAVA 线程池(池化技术)的实现原理
Apr 28 Java/Android
Java时间工具类Date的常用处理方法
May 25 Java/Android
SpringCloud超详细讲解Feign声明式服务调用
Jun 21 Java/Android
Java 超详细讲解十大排序算法面试无忧
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
SpringCloud Function SpEL注入漏洞分析及环境搭建
SpringBoot中获取profile的方法详解
Apr 08 #Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Java 垃圾回收超详细讲解记忆集和卡表
Java 常见的限流算法详细分析并实现
You might like
模仿OSO的论坛(三)
2006/10/09 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
Yii中表单用法实例详解
2016/01/05 PHP
ArrayList类(增强版)
2007/04/04 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
如何理解Python中的变量
2020/06/01 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
英国在线花园中心:You Garden
2018/06/03 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
教师求职信范文分享
2013/12/27 职场文书
暑期实践思想汇报
2014/01/06 职场文书
给校长的建议书100字
2014/05/16 职场文书
个人收入证明范本
2014/09/18 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android