📅  最后修改于: 2023-12-03 14:42:51.446000             🧑  作者: Mango
在Java中,字符输入流可以通过Reader
类来实现。Reader
类中的read(char[])
方法用于将输入流中的数据读取到字符数组中。下面是read(char[])
方法的定义:
public int read(char[] cbuf) throws IOException
该方法接收一个字符数组作为参数,并返回一个整数值。方法将从输入流中读取最多cbuf.length
个字符,并将它们存储在cbuf
数组中。如果没有更多的字符,则该方法将返回-1。
下面是一个示例程序,演示了如何使用Reader
类中的read(char[])
方法:
import java.io.FileReader;
import java.io.Reader;
public class ReadCharArrayExample {
public static void main(String[] args) {
try {
Reader reader = new FileReader("input.txt");
char[] cbuf = new char[1024];
int length;
while ((length = reader.read(cbuf)) != -1) {
System.out.println(new String(cbuf, 0, length));
}
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
在上面的示例程序中,我们创建了一个FileReader
对象,并将读取到的数据传递给Reader
对象。我们创建一个char
类型的数组,然后使用while
循环读取输入流中的数据,并将其存储在char
数组中。我们使用new String
方法将读取到的字符数组转换成字符串,然后打印到控制台上。
需要注意的是,在上面的示例程序中,我们使用了read(char[])
方法的另一个重载版本read(char[], int, int)
,它允许我们从输入流中读取最多len
个字符,并将它们储存到cbuf
数组的offset
索引位置开始的部分中。然而,在本例中,我们将cbuf
数组中的所有字符都打印了出来。
综上所述,Reader
类中的read(char[])
方法非常有用,可以轻松地从输入流中读取字符数据,并将其存储在字符数组中。