The read() method of PushbackReader Class in Java is used to read a single character from the stream. 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()
Parameters: This method does not accepts any parameters
Return Value: This method returns an integer value which is the integer value read from the stream. It can range from 0 to 65535. Else it returns -1 if no character has been read.
Exception: This method throws IOException if some error occurs while input output.
Below methods illustrates the working of read() method:
Program 1:
// Java program to demonstrate// PushbackReader read() 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            // to be read from the stream            int ch;              // Read the first 5 characters            // to this reader using read() method            // This will put the str in the stream            // till it is read by the reader            for (int i = 0; i < 5; i++) {                ch = pushbackReader.read();                System.out.println("\nInteger value "                                   + "of character read: "                                   + ch);                System.out.println("Actual "                                   + "character read: "                                   + (char)ch);            }              // Close the stream using read()            pushbackReader.close();            System.out.println("Stream Closed.");        }        catch (Exception e) {            System.out.println(e);        }    }} |
Integer value of character read: 71 Actual character read: G Integer value of character read: 101 Actual character read: e Integer value of character read: 101 Actual character read: e Integer value of character read: 107 Actual character read: k Integer value of character read: 115 Actual character read: s Stream Closed.
Program 2:
// Java program to demonstrate// PushbackReader read() 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            // to be read from the stream            int ch;              // Read the first 2 characters            // to this reader using read() method            // This will put the str in the stream            // till it is read by the reader            for (int i = 0; i < 2; i++) {                ch = pushbackReader.read();                System.out.println("\nInteger value "                                   + "of character read: "                                   + ch);                System.out.println("Actual "                                   + "character read: "                                   + (char)ch);            }              // Close the stream            pushbackReader.close();            System.out.println("Stream Closed.");        }        catch (Exception e) {            System.out.println(e);        }    }} |
Integer value of character read: 71 Actual character read: G Integer value of character read: 70 Actual character read: F Stream Closed.
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/PushbackReader.html#read–
