The read(char[], int, int) method of CharArrayReader 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 // CharArrayReader read(char[], int, int) method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { char [] str = { 'G' , 'e' , 'e' , 'k' , 's' , 'F' , 'o' , 'r' , 'G' , 'e' , 'e' , 'k' , 's' }; // Create a CharArrayReader instance CharArrayReader reader = new CharArrayReader(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 // CharArrayReader read(char[], int, int) method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { char [] str = { 'G' , 'e' , 'e' , 'k' , 's' , 'F' , 'o' , 'r' , 'G' , 'e' , 'e' , 'k' , 's' }; // Create a CharArrayReader instance CharArrayReader reader = new CharArrayReader(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: <a href=”https://docs.oracle.com/javase/9/docs/api/java/io/CharArrayReader.html#read-char:A-int-int-“https://docs.oracle.com/javase/9/docs/api/java/io/CharArrayReader.html#read-char:A-int-int-