“字符输入流”在 Java 中对应的顶层抽象类是 java.io.Reader。这两个 read 方法就是 Reader 类中定义的(或其子类如 FileReader, InputStreamReader 实现的)。


1. int read() (空参 read)

这个方法是字符流中最基础的读取方法。


2. int read(char[] cbuf) / int read(char[] cbuf, int off, int len) (有参 read)

这是 read 方法的重载版本,也是推荐使用的读取方式。它们实现了“缓冲读取”的核心逻辑。

我将重点讲解三个参数的版本 read(char[] cbuf, int off, int len),因为 read(char[] cbuf) 只是 read(cbuf, 0, cbuf.length) 的一个便捷写法。