📜  Java中的 Reader read(char[]) 方法和示例(1)

📅  最后修改于: 2023-12-03 14:42:51.446000             🧑  作者: Mango

Java中的 Reader read(char[]) 方法和示例

在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[])方法非常有用,可以轻松地从输入流中读取字符数据,并将其存储在字符数组中。