Java.io.Reader.read() 方法

描述

java.io.Reader.read(CharBuffer target) 方法尝试将字符读入指定的字符缓冲区。 缓冲区按原样用作字符的存储库:所做的唯一更改是 put 操作的结果。 不执行缓冲区的翻转或倒带。


声明

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

public int read(CharBuffer target)

参数

target − 将字符读入的缓冲区。


返回值

此方法返回添加到缓冲区的字符数,如果此字符源位于其末尾,则返回 -1。


异常

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

  • NullPointerException − 如果目标为空。

  • ReadOnlyBufferException − 如果目标是只读缓冲区。


示例

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

package com.tutorialspoint;

import java.io.*;
import java.nio.CharBuffer;

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

      // create a new Char Buffer with capacity of 12
      CharBuffer cb = CharBuffer.allocate(12);

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

      try {
         // read characters into a char buffer
         reader.read(cb);

         // flip the char buffer
         cb.flip();

         // print the char buffer
         System.out.println(cb.toString());

         // Close the stream 
         reader.close();

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

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

Hello world