Java中Reader类的read(CharBuffer)方法用于将指定的字符读取到CharBuffer实例中。此方法将流阻塞到:
它已从流中获取了一些输入。
发生了一些IOException
阅读时已到达流的末尾。
用法:
public int read(CharBuffer charBuffer)
参数:此方法接受强制参数charBuffer,该参数是要在Stream中写入的CharBuffer实例。
返回值:此方法返回一个整数值,该整数值是从流中读取的字符数。如果未读取任何字符,则返回-1。
异常:此方法引发以下异常:
IOException:输入输出时发生错误。
NullPointerException :如果要填充的CharBuffer实例为null
ReadOnlyBufferException:如果要填充的CharBuffer实例是只读缓冲区
下面的方法说明了read(CharBuffer)方法的用法方式:
示例1:
// Java program to demonstrate
// Reader read(CharBuffer) method
import java.io.*;
import java.util.*;
import java.nio.CharBuffer;
class GFG {
public static void main(String[] args)
{
try {
String str = "GeeksForGeeks";
// Create a Reader instance
Reader reader
= new StringReader(str);
// Get the CharBuffer instance
// to be read from the stream
CharBuffer charBuffer
= CharBuffer.allocate(5);
// Read the charBuffer
// to this reader using read() method
// This will put the str in the stream
// till it is read by the reader
reader.read(charBuffer);
// Print the read charBuffer
System.out.println(charBuffer
.flip()
.toString());
reader.close();
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Geeks
示例2:
// Java program to demonstrate
// Reader read(CharBuffer) method
import java.io.*;
import java.util.*;
import java.nio.CharBuffer;
class GFG {
public static void main(String[] args)
{
try {
String str = "GeeksForGeeks";
// Create a Reader instance
Reader reader
= new StringReader(str);
// Get the CharBuffer instance
// to be read from the stream
CharBuffer charBuffer
= CharBuffer
.allocate(
str.length());
// Read the charBuffer
// to this reader using read() method
// This will put the str in the stream
// till it is read by the reader
reader.read(charBuffer);
// Print the read charBuffer
System.out.println(charBuffer
.flip()
.toString());
reader.close();
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
GeeksForGeeks