Java.io.Reader.read() 方法

  • 描述

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

    以下是java.io.Reader.read()方法的声明。
     public int read(CharBuffer target)
  • 参数

    target - 读取字符的缓冲区。
  • 返回值

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

    IOException - 如果流不支持 mark(),或者发生其他一些 I/O 错误。
    NullPointerException - 如果目标为空。
    ReadOnlyBufferException - 如果目标是只读缓冲区。
  • 例子

    以下示例显示java.io.Reader.read()方法的用法。
     
    package com.jc2182;
    
    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