Java.io.Reader.read() 方法

描述

java.io.Reader.read(char[] cbuf,int off,int len) 方法将字符读入数组的一部分。 此方法将阻塞,直到某些输入可用、发生 I/O 错误或到达流的末尾。


声明

以下是 java.io.Reader.read() 方法的声明。

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

参数

  • cbuf − 目标缓冲区。

  • off − 开始存储字符的偏移量。

  • len − 要读取的最大字符数。


返回值

此方法返回读取的字符数,如果已到达流的末尾,则返回 -1。


异常

IOException − 如果流不支持 mark(),或者出现其他 I/O 错误。


示例

下面的例子展示了 java.io.Reader.read() 方法的使用。

package com.tutorialspoint;

import java.io.*;

public class ReaderDemo {
   public static void main(String[] args) {
      String s = "Hello world";

      // create a StringReader
      Reader reader = new StringReader(s);

      // create a char array to read chars into
      char cbuf[] = new char[5];

      try {
         // read characters into a portion of an array.
         System.out.println("" + reader.read(cbuf, 0, 5));

         // print cbuf
         System.out.println(cbuf);

         // close the stream 
         reader.close();

      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

5
Hello