Java - StringReader read() method



Description

The Java StringReader read() method reads a single character.

Declaration

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

public int read()

Parameters

NA

Return Value

This method returns The character read, or -1 if the end of the stream has been reached.

Exception

IOException − If an I/O error occurs

Example - Usage of StringReader read() method

The following example shows the usage of StringReader read() 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 {
         // 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 −

Hello

Example - Reading one character at a time

The following example shows the usage of StringReader read() 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("Java");

      int ch;
      while ((ch = reader.read()) != -1) {
         System.out.print((char) ch + " ");
      }

      reader.close();
   }
}

Output

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

J a v a 

Explanation

  • The program reads each character one by one from the StringReader using read().

  • It loops until read() returns -1, which signals the end of the input.

  • The int returned by read() is cast to char for display.

Example - Reading characters and checking their Unicode values

The following example shows the usage of StringReader read() 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("AB");

      int ch1 = reader.read();
      int ch2 = reader.read();
      int ch3 = reader.read(); // End of stream

      System.out.println("First char: " + (char) ch1 + " (" + ch1 + ")");
      System.out.println("Second char: " + (char) ch2 + " (" + ch2 + ")");
      System.out.println("After end: " + ch3);

      reader.close();
   }
}

Output

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

First char: A (65)
Second char: B (66)
After end: -1

Explanation

  • This example shows both the character and its Unicode integer value.

  • It also demonstrates that read() returns -1 after all characters have been read.

java_io_stringreader.htm
Advertisements