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