位置:首页 > Java技术 > Java.io包 > java.io.Reader.read(CharBuffer target)方法实例

java.io.Reader.read(CharBuffer target)方法实例

java.io.Reader.read(CharBuffer target) 方法尝试将字符读入指定的字符缓冲区。所做的唯一改变是put操作的结果:原样缓冲区被用作字符的存储库。没有翻转的缓冲或重绕操作。

声明

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

public int read(CharBuffer target)

参数

  • target -- 该缓冲区中读取字符

返回值

此方法返回添加到缓冲器中的字符数,或如果字符的这个源是在其末尾返回-1

异常

  • IOException -- 如果流不支持mark(),或者是一些其他的I/O错误

  • NullPointerException -- 如果target 是 null

  • ReadOnlyBufferException -- 如果目标是一个只读缓冲区

例子

下面的示例演示java.io.Reader.read()方法的用法。

package com.yiibai;

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