📜  Java中的 CharArrayReader read(char[], int, int) 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:51.640000             🧑  作者: Mango

Java中的 CharArrayReader read(char[], int, int) 方法及示例

介绍

CharArrayReader类实现了一个可用作字符输入流的字符数组。read(char[], int, int) 方法从字符数组中读取一定数量的字符到指定的数组位置。此方法的语法如下:

public int read(char[] cbuf, int off, int len) throws IOException

参数:

  • cbuf:要将数据读入的字符数组。
  • off:要开始存储字符的偏移量。
  • len:要读取的最大字符数。

返回值:

  • 读取的字符数,如果已达到流的结尾,则返回 -1。
示例

下面的示例演示了如何使用 CharArrayReader 类的 read(char[], int, int) 方法读取字符数组中的字符,并在控制台上打印出来:

public class CharArrayReaderExample {
    public static void main(String[] args) {
        char[] charArray = { 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' };
        CharArrayReader charArrayReader = new CharArrayReader(charArray);

        char[] buffer = new char[5];
        try {
            int num = charArrayReader.read(buffer, 0, 5);
            while (num != -1) {
                System.out.print(buffer);
                num = charArrayReader.read(buffer, 0, 5);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            charArrayReader.close();
        }
    }
}

运行结果如下:

Hello
 World

在上面的示例中,我们首先创建了一个包含字符序列的 charArray 数组,然后创建了一个 CharArrayReader 流。接下来我们定义了一个 5 个字符的缓冲区,然后使用一个 while 循环来读取字符数组中的字符,并将它们存储在 buffer 中。每当 num 不等于 -1 时,我们就在控制台上打印出 buffer 中的字符。

总结

CharArrayReader 类中的 read(char[], int, int)方法可用于从字符数组中读取一定数量的字符。在使用这个方法时,我们需要创建一个 CharArrayReader 流并使用一个 while 循环来读取字符数组中的字符并将它们存储在缓冲区中。最后,记得要关闭这个流。