Java - StringReader ready() method



Description

The Java StringReader ready() method tells whether this stream is ready to be read.

Declaration

Following is the declaration for java.io.StringReader.ready() method.

public boolean ready()

Parameters

NA

Return Value

This method returns true if the next read() is guaranteed not to block for input.

Exception

IOException − If an I/O error occurs.

Example - Usage of StringReader ready() method

The following example shows the usage of StringReader ready() method.

StringReaderDemo.java

package com.tutorialspoint;

import java.io.IOException;
import java.io.StringReader;

public class StringReaderDemo {
   public static void main(String[] args) {
      String s = "Hello World";

      // create a new StringReader
      StringReader sr = new StringReader(s);

      try {
         // check if reader is ready
         System.out.println("" + sr.ready());

         // read the first five chars
         for (int i = 0; i < 5; i++) {
            char c = (char) sr.read();
            System.out.print("" + c);
         }

         // close the stream
         sr.close();

      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

true
Hello

Example - Basic check before reading

The following example shows the usage of StringReader ready() method.

StringReaderDemo.java

package com.tutorialspoint;

import java.io.StringReader;

public class StringReaderDemo {
   public static void main(String[] args) throws Exception {
      StringReader reader = new StringReader("Hello, Java!");

      if (reader.ready()) {
         System.out.println("Reader is ready to read.");
         int ch = reader.read();
         System.out.println("First character: " + (char) ch);
      } else {
         System.out.println("Reader is not ready.");
      }

      reader.close();
   }
}

Output

Let us compile and run the above program, this will produce the following result−

Reader is ready to read.
First character: H

Explanation

  • ready() returns true because StringReader is always ready unless closed.

  • Then ads the first character 'H'.

Example - Check after closing the reader

The following example shows the usage of StringReader ready() method.

StringReaderDemo.java

package com.tutorialspoint;

import java.io.StringReader;

public class StringReaderDemo {
   public static void main(String[] args) {
      StringReader reader = new StringReader("Test string");
      try {
         reader.close();

         if (reader.ready()) {
            System.out.println("Reader is ready.");
         } else {
            System.out.println("Reader is not ready.");
         }
      } catch (Exception e) {
         System.out.println("Exception: " + e.getMessage());
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result−

Exception: Stream closed

Explanation

  • After calling reader.close(), calling ready() throws an IOException.

  • This demonstrates the correct behavior: once closed, the reader is no longer usable.

java_io_stringreader.htm
Advertisements