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–