21.3 字符缓存流(BufferedReader/BufferedWriter)

(BufferedReader/BufferedWriter) 是带缓冲区的字符流,默认缓冲区大小是8Kb,能够减少访问磁盘的次数,提高文件读取性能;并且可以一次性读取一行字符。(类似管道套管道一样,不带缓冲的流只能一滴一滴流,套了管道后,可以让一滴一滴留到外面的管道后一次性流出。)

21.3.1 字符缓存流构造方法

21.3.1.1 BufferedReader

  1. BufferedReader(Reader in);创建一个默认缓冲区大小 8Kb 的字符缓冲输入流;

  2. BufferedReader(Reader in, int sz);创建一个字符缓冲输入流;并分配 sz/byte 大小的缓冲区。

21.3.1.1 BufferedWriter

  1. BufferedWriter(Writer out); 创建一个默认缓冲区大小 8Kb 的字符缓冲输出流;

  2. BufferedWriter(Writer out, int sz); 创建一个字符缓冲输出流;并分配 sz/byte 大小的缓冲区。

21.3.2 字符缓存流的常用方法:readLine(),newLine()

  1. BufferedReader.readLine();在字符缓冲输入流读取字符的时候,可以一次性读取一行,并将游标指向下一行。

    try {
        File file = new File("test.txt");
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        String str;
        while ((str = br.readLine())!=null) {
            System.out.println(str);
        }
    }...
    
  2. BufferedWriter.newLine();在字符串缓冲输出流写入字符的时候,默认是在一行写入,当需要换行的时候,调用 newLine() 实现文本换行。

    try {
        File file = new File("test.txt");
        FileWriter fw = new FileWriter(file);
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write("写入一行的文本");
        bw.newLine();//换行
        bw.write("写入第二行的文本");
        bw.flush();//刷新缓冲区,强制写入文件中
        bw.close();
    }...
    

results matching ""

    No results matching ""