Reader ready() method in Java with Examples

Last Updated : 11 Jul, 2025
The ready() method of Reader Class in Java is used to check whether this Reader is ready to be read or not. It returns a boolean which states if the reader is ready. Syntax:
public void ready()
Parameters: This method does not accepts any parameters Return Value: This method returns a boolean value which tells if this Reader is ready to be read or not. It return true if it is ready. Else it returns false. Exception: This method throws IOException if some error occurs while input-output. Below methods illustrates the working of ready() method: Program 1: Java
// Java program to demonstrate
// Reader ready() method

import java.io.*;
import java.util.*;

class GFG {
    public static void main(String[] args)
    {

        try {

            String str = "GeeksForGeeks";

            // Create a Reader instance
            Reader reader
                = new StringReader(str);

            // Check if the Reader is
            // ready to be read using ready()
            System.out.println("Is Reader ready "
                               + "to be read: "
                               + reader.ready());

            // 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 = reader.read();
                System.out.println("\nInteger value "
                                   + "of character read: "
                                   + ch);
                System.out.println("Actual "
                                   + "character read: "
                                   + (char)ch);
            }

            reader.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Output:
Is Reader ready to be read: true

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
Program 2: Java
// Java program to demonstrate
// Reader ready() method

import java.io.*;
import java.util.*;

class GFG {
    public static void main(String[] args)
    {

        try {
            String str = "GeeksForGeeks";

            // Create a Reader instance
            Reader reader
                = new StringReader(str);

            reader.close();

            // Check if the Reader is
            // ready to be read using ready()
            System.out.println("Is Reader ready "
                               + "to be read: "
                               + reader.ready());

            // Get the character
            // to be read from the stream
            int ch;

            // Read the first character
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            ch = reader.read();
            System.out.println("\nInteger value "
                               + "of character read: "
                               + ch);
            System.out.println("Actual "
                               + "character read: "
                               + (char)ch);

            reader.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Output:
java.io.IOException: Stream closed
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#ready--
Comment