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-