PushbackReader read(char, int, int) method in Java with Examples

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);        }    }} |
Output:
[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);        }    }} |
Output:
[G, F,,, ] Stream Closed.
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/PushbackReader.html#read-char:A-int-int-



