The read(char[], int, int) method of StringReader Class in Java is used to read the specified length characters into an array at a specified offset. 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(char[] charArray, int offset, int length)
Parameters: This method accepts three mandatory parameters:
- charArray which is the character array to be written in the Stream.
- offset which is the offset index at which the characters are to be written in the array.
- length which is the number of characters to be written in the array.
Return Value: This method returns an integer value which is the number of characters read from the stream. It returns -1 if no character has been read.
Exception: This method throws following exceptions:
- IOException: if some error occurs while input output.
- IndexOutOfBoundsException: if the offset value is not within the range of character array
Below methods illustrates the working of read(char[], int, int) method:
Program 1:
// Java program to demonstrate// StringReader read(char[], int, int) method  import java.io.*;import java.util.*;  class GFG {    public static void main(String[] args)    {          try {            String str = "GeeksForGeeks";              // Create a StringReader instance            StringReader reader                = new StringReader(str);              // Get the character array            // to be read from the stream            char[] charArray = new char[5];              // Get the offset index            int offset = 0;              // Get the length            int length = 5;              // Read the charArray            // to this reader using read() method            // This will put the str in the stream            // till it is read by the reader            reader.read(charArray, offset, length);              // Print the read charArray            System.out.println(                Arrays.toString(charArray));              reader.close();        }        catch (Exception e) {            System.out.println(e);        }    }} |
[G, e, e, k, s]
Program 2:
// Java program to demonstrate// StringReader read(char[], int, int) method  import java.io.*;import java.util.*;  class GFG {    public static void main(String[] args)    {          try {            String str = "GeeksForGeeks";              // Create a StringReader instance            StringReader reader                = new StringReader(str);              // Get the character array            // to be read from the stream            char[] charArray                = new char[13];              // Get the offset index            int offset = 0;              // Get the length            int length = 13;              // Read the charArray            // to this reader using read() method            // This will put the str in the stream            // till it is read by the reader            reader.read(charArray, offset, length);              // Print the read charArray            System.out.println(                Arrays.toString(charArray));              reader.close();        }        catch (Exception e) {            System.out.println(e);        }    }} |
[G, e, e, k, s, F, o, r, G, e, e, k, s]
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/StringReader.html#read-char:A-int-int-
