The read(CharBuffer) method of Reader Class in Java is used to read the specified characters into a CharBuffer instance. This method blocks the stream till:
- It has taken some input from the stream.
- Some IOException has occurred
- It has reached the end of the stream while reading.
Syntax:
public int read(CharBuffer charBuffer)
Parameters: This method accepts a mandatory parameter charBuffer which is the CharBuffer instance to be written in the Stream.
Return Value: This method returns an integer value which is the number of characters read from the stream. It returns -1 if no character has been read.
Exception: This method throws following exceptions:
- IOException: if some error occurs while input output.
- NullPointerException: if the CharBuffer instance to be filled is null
- ReadOnlyBufferException: if the CharBuffer instance to be filled is a read only buffer
Below methods illustrates the working of read(CharBuffer) method:
Program 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
Program 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
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#read-java.nio.CharBuffer-