CharArrayReader read(CharBuffer) method in Java with Examples

The read(CharBuffer) method of CharArrayReader 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// CharArrayReader read(CharBuffer) method import java.io.*;import java.util.*;import java.nio.CharBuffer; class GFG { public static void main(String[] args) { try { char[] str = { 'G', 'e', 'e', 'k', 's', 'F', 'o', 'r', 'G', 'e', 'e', 'k', 's' }; // Create a CharArrayReader instance CharArrayReader reader = new CharArrayReader(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); } }} |
Output:
Geeks
Program 2:
// Java program to demonstrate// CharArrayReader read(CharBuffer) method import java.io.*;import java.util.*;import java.nio.CharBuffer; class GFG { public static void main(String[] args) { try { char[] str = { 'G', 'e', 'e', 'k', 's', 'F', 'o', 'r', 'G', 'e', 'e', 'k', 's' }; // Create a CharArrayReader instance CharArrayReader reader = new CharArrayReader(str); // Get the CharBuffer instance // to be read from the stream CharBuffer charBuffer = CharBuffer .allocate(13); // 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); } }} |
Output:
GeeksForGeeks
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#read-java.nio.CharBuffer-



