面试题:简述 BufferedReader 属于哪种流,它主要是用来做什么的,它里面有那些经典的方法 ?

1. BufferedReader 属于哪种流?

  • 类型BufferedReader 属于字符输入流
  • 继承关系
    • java.io.Reader
      • java.io.BufferedReader
  • 特点
    • 它是缓冲流,内部维护了一个缓冲区,可以提高读取效率。
    • 它是对其他字符输入流(如 FileReaderInputStreamReader)的包装。

2. BufferedReader 的主要用途

  • 高效读取字符数据
    • 通过缓冲区减少直接读写磁盘或网络的次数,提高性能。
  • 逐行读取文本
    • 提供了 readLine() 方法,可以方便地读取一行文本。
  • 适用于读取文本文件、网络流等字符数据

3. BufferedReader 的经典方法

以下是 BufferedReader 中常用的方法:

方法名描述
int read()读取单个字符,返回字符的 ASCII 值(-1 表示流结束)。
int read(char[] cbuf)将字符读入字符数组,返回读取的字符数(-1 表示流结束)。
String readLine()读取一行文本,返回字符串(不包括换行符),null 表示流结束。
long skip(long n)跳过指定数量的字符。
boolean ready()检查流是否准备好被读取。
void close()关闭流并释放相关资源。

4. 示例代码

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

public class BufferedReaderExample {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
            String line;
            // 逐行读取文件内容
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

总结

  • BufferedReader 属于字符输入流,主要用于高效读取字符数据。
  • 核心功能
    • 通过缓冲区提高读取性能。
    • 支持逐行读取文本(readLine() 方法)。
  • 经典方法
    • read():读取单个字符。
    • read(char[] cbuf):读取字符到数组。
    • readLine():读取一行文本。
    • close():关闭流。
THE END
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容