The read(char[], int, int) method of PushbackReader Class in Java is used to read the specified length characters into an array at a specified offset. 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(char[] charArray, int offset, int length)
Parameters: This method accepts three mandatory parameters:
- charArray which is the character array to be written in the Stream.
- offset which is the offset index at which the characters are to be written in the array.
- length which is the number of characters to be written in the array.
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.
- IndexOutOfBoundsException: if the offset value is not within the range of character array
Below methods illustrates the working of read(char[], int, int) method:
Program 1:
// Java program to demonstrate // PushbackReader read(char, int, int) method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { // Initializing a StringReader // and PushbackReader String s = "GeeksForGeeks" ; StringReader stringReader = new StringReader(s); PushbackReader pushbackReader = new PushbackReader(stringReader); // Get the character array // to be read from the stream char [] charArray = new char [ 5 ]; // Get the offset index int offset = 0 ; // Get the length int length = 5 ; // Read the charArray // to this reader using read() method // This will put the str in the stream // till it is read by the reader pushbackReader .read(charArray, offset, length); // Print the read charArray System.out.println( Arrays.toString(charArray)); // Close the stream pushbackReader.close(); System.out.println( "Stream Closed." ); } catch (Exception e) { System.out.println(e); } } } |
[G, e, e, k, s] Stream Closed.
Program 2:
// Java program to demonstrate // PushbackReader read(char, int, int) method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { // Initializing a StringReader // and PushbackReader String s = "GFG" ; StringReader stringReader = new StringReader(s); PushbackReader pushbackReader = new PushbackReader(stringReader); // Get the character array // to be read from the stream char [] charArray = new char [ 5 ]; // Get the offset index int offset = 0 ; // Get the length int length = 2 ; // Read the charArray // to this reader using read() method // This will put the str in the stream // till it is read by the reader pushbackReader .read(charArray, offset, length); // Print the read charArray System.out.println( Arrays.toString(charArray)); // Close the stream pushbackReader.close(); System.out.println( "Stream Closed." ); } catch (Exception e) { System.out.println(e); } } } |
[G, F,,, ] Stream Closed.
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/PushbackReader.html#read-char:A-int-int-