Java 轻松掌握字符缓冲流的使用

2023-01-21 0 4,960

目录

一、字符缓冲流

BufferedWriter:文本写入字符输出流,缓冲字符,以提供单个字符,数组字符串高效写入。可以指定缓冲区大小,或者可以接受默认大小。 默认值足够大,可用于大多数用途。

构造方法

BufferedWriter(Writer out)    创建使用默认大小的输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz)    创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。

BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。可以指定缓冲区大小,或者可以使用默认大小。 默认值足够大,可用于大多数用途。

构造方法:

BufferedReader(Reader in)    创建使用默认大小的输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz)    创建使用指定大小的输入缓冲区的缓冲字符输入流。

字符缓冲流读数据的方式:

  • int read():一次读取一个字符数据
  • int read(char[] cbuf):一次读一个字符数组数据
  • int read(char cbuf[], int off, int len):一次读一个字符数组部分数据
  • String readLine():读一行文字。结果包含行的内容的字符,不包含任何行终止字符,如果流的结尾已经达到,则为null

字符缓冲流写数据的方式:

  • void write(int c):写入一个字符
  • void write(char[] cbuf):写入一个字符数组
  • void write(char[] cbuf,int off,int len):写入字符数组的一部分
  • void write(String str):写入一个字符串
  • void write(String str,int off,int len):写入一个字符串的一部分
  • void newLine():写一行行分隔符,行分隔符字符串由系统属性定义

例子-字符缓冲流实现复制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种方式,一般采用字符缓冲流的特有功能

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 Java教程 Java 轻松掌握字符缓冲流的使用 http://www.20zxx.cn/462998/xuexijiaocheng/javajc.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务