IO流学习4


前言

本节我们学习缓冲流,BufferedReader 其父类是Reader BufferedWriter其父类是Writer ,可以看出缓冲流是字符流的一种。
作用:
BufferedReader 从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取
BufferedWriter将文本写入字符输出流,缓冲字符,以提供字符,数组和字符串的高效写入

一、BufferedReader

该类可以接收任意长度的数据,而且避免乱码的产生
缓冲区的内容可以更改

构造方法

1、创建使用默认大小的输入缓冲区的缓冲字符输入流。

        //BufferedReader(Reader in)
        File file=new File("src/one.text");
        FileReader fr=new FileReader(file);
        BufferedReader bf=new BufferedReader(fr); 

2、创建使用指定大小的输入缓冲区的缓冲字符输入流。

        //BufferedReader(Reader in, int sz) 
        File file=new File("src/one.text");
        FileReader fr=new FileReader(file);
        BufferedReader bf=new BufferedReader(fr,10);

常用方法

        File file=new File("src/one.text");
        FileReader fr=new FileReader(file);
        BufferedReader bf=new BufferedReader(fr,10);
        //1、读一个字符
        int a=bf.read();
       //2、读一行文字
        String str=bf.readLine();
       /* System.out.println(str);*/
        //3、将字符读入数组的一部分
        char[]chars=new char[10];
        int b=bf.read(chars,0,10);
        //4、返回一个Stream ,其元素是从这个BufferedReader读取的行
        Stream stream=bf.lines();

二、BufferedWriter

提高输出的效率

构造方法

1、创建使用默认大小的输出缓冲区的缓冲字符输出流。

        //BufferedWriter(Writer out) 
        FileWriter fw=new FileWriter("src/two.text");
        BufferedWriter bw=new BufferedWriter(fw);

2、创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。

        //BufferedWriter(Writer out, int sz) 
        FileWriter fw=new FileWriter("src/two.text");
        BufferedWriter bw=new BufferedWriter(fw,20);

常用方法

        File file=new File("src/one.text");
        FileReader fr=new FileReader(file);
        BufferedReader bf=new BufferedReader(fr,10);
        FileWriter fw=new FileWriter("src/two.text");
        BufferedWriter bw=new BufferedWriter(fw,20);
        //1、刷新流,把数据写入到目的文件里去,不然数据都还是只写在缓冲区里,没有写入文件的。
        bw.flush();
        //2、写一行行分隔符
        bw.newLine();
        //3、写一个字符
        int a=bf.read();
        bw.write(a);
        //4、写一个字符串的一部分
        String str=bf.readLine();
        bw.write(str,0,5);

总结

不管是BufferedReader还是BufferedWriter,开流后要记得关流 close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值