字符缓冲流(BufferedReader、BufferedWriter)

BufferedReader 字符流,输入流,处理流BufferedWriter 字符流,输出流,处理流。我们称之为字符缓冲流

字符缓冲流默认有8192字符大小的的缓冲区,就是8192大小的字符数组。

------------------------------------------

BufferReader

构造方法

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

成员方法

  • String readLine() 读取一个文本行,读到文件末尾返回 null
复制代码
//使用 BufferedReader 读取文件内容
public class Test03 {
    public static void main(String[] args) throws IOException {
        //1)建立流通道
        //1.1 先建立字符流通道
        FileReader fileReader = new FileReader("D:\\yexiao1793\\file\\test02.txt");
        //1.2对字符流进行缓冲
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        //2)读取,常用的方法是readLine()一次读取一行, 读到文件末尾返回null
        String line = bufferedReader.readLine();
        while ( line != null ){
            System.out.println( line );
            line = bufferedReader.readLine();
        }

        //3)关闭
        bufferedReader.close();
    }
}
复制代码

------------------------------------------

BufferedWriter

构造方法

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

成员方法

void newLine() 写入一个行分隔符

复制代码
//使用 BufferedWriter 把字符保存到文件中
public class Test04 {
    public static void main(String[] args) throws IOException {
        //1)建立流通道
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("D:\\yexiao1793\\file\\test02.txt", true)); //文件存在则追加内容,无则创建

        //2)通过字符流写入数据
        bufferedWriter.write("hello");
        bufferedWriter.newLine();   // 换行
        bufferedWriter.write("world");

        //3)关闭
        bufferedWriter.close();

    }
}
复制代码

------------------------------------------

整合

复制代码
// 完成文本文件的复制
import java.io.*;

public class CopyFile {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("day09\\Test.java"));
        BufferedWriter bw = new BufferedWriter(new FileWriter("day09\\Copy.java"));

        String line;
        while ((line = br.readLine()) != null){  // 读一行
            bw.write(line);  // 写一行
            bw.newLine(); // 换行
        }

        br.close();
        bw.close();
    }
}
复制代码

 

posted @   鹿先森JIAN  阅读(1228)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示