The read(CharBuffer) method of StringReader 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 // StringReader 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 StringReader instance
StringReader 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 // StringReader 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 StringReader instance
StringReader reader
= new StringReader(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);
}
}
} |
GeeksForGeeks
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#read-java.nio.CharBuffer-