BufferedReader.read(char[], int, int)方法是用来读取字符流的方法,它会尝试从输入流中读取指定长度的字符存放到字符数组中。
根据官方文档的说明,BufferedReader.read(char[], int, int)方法会返回读取的字符数,如果已经到达文件的末尾,则返回-1。
所以,BufferedReader.read(char[], int, int)方法是不会返回0的。
以下是一个示例代码,演示了如何使用BufferedReader.read(char[], int, int)方法来读取字符流:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("file.txt"));
char[] buffer = new char[1024];
int length;
while ((length = reader.read(buffer, 0, buffer.length)) != -1) {
// 在这里处理读取到的字符数组
System.out.println("读取了 " + length + " 个字符");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
在上面的代码中,我们通过创建一个FileReader对象,然后将其传递给BufferedReader对象来读取文件的字符流。在while循环中,我们调用BufferedReader.read(char[], int, int)方法来读取字符流,并将读取到的字符数存储在变量length中。然后,我们可以在循环中处理读取到的字符数组,这里只是简单地将读取到的字符数打印出来。
需要注意的是,在使用BufferedReader.read(char[], int, int)方法时,要确保传递给该方法的字符数组的长度足够大,以容纳从输入流中读取的字符。