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

