缓冲流06BufferedReader字符缓冲输入流

7次阅读

共计 1233 个字符,预计需要花费 4 分钟才能阅读完成。

package com.itheima.demo01.BufferedStream;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

/*

java.io.BufferedReader extends Reader
BufferedReader: 字符缓冲输入流

继承自父类的共性成员方法:
    int read() 读取单个字符并返回。int read(char[] cbuf) 一次读取多个字符, 将字符读入数组。void close() 关闭该流并释放与之关联的所有资源。构造方法:
    BufferedReader(Reader in)  创建一个使用默认大小输入缓冲区的缓冲字符输入流。BufferedReader(Reader in, int sz)     创建一个使用指定大小输入缓冲区的缓冲字符输入流。参数:
        Reader in: 字符输入流
            我们可以传递 FileReader, 缓冲流会给 FileReader 增加一个缓冲区, 提高 FileReader 的读取效率
 特有的成员方法:
    String readLine() 读取一个文本行。读取一行数据
        行的终止符号: 通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行 (\r\n)。返回值:
        包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

 使用步骤:
    1. 创建字符缓冲输入流对象, 构造方法中传递字符输入流
    2. 使用字符缓冲输入流对象中的方法 read/readLine 读取文本
    3. 释放资源 

*/
public class Demo04BufferedReader {

public static void main(String[] args) throws IOException {
    //1. 创建字符缓冲输入流对象, 构造方法中传递字符输入流
    BufferedReader br = new BufferedReader(new FileReader("10_IO\\c.txt"));

    //2. 使用字符缓冲输入流对象中的方法 read/readLine 读取文本
    /*String line = br.readLine();
    System.out.println(line);

    line = br.readLine();
    System.out.println(line);

    line = br.readLine();
    System.out.println(line);

    line = br.readLine();
    System.out.println(line);*/

    /*
        发下以上读取是一个重复的过程, 所以可以使用循环优化
        不知道文件中有多少行数据, 所以使用 while 循环
        while 的结束条件, 读取到 null 结束
     */
    String line;
    while((line = br.readLine())!=null){System.out.println(line);
    }

    //3. 释放资源
    br.close();}

}

正文完
 0