The close() method of CharArrayReader Class in Java is used to close the stream and release the resources that were busy in the stream, if any. This method has following results:
- If the stream is open, it closes the stream releasing the resources
- If the stream is already closed, it will have no effect.
- If any read or other similar operation is performed on the stream, after closing, it raises IOException
Syntax:
public abstract void close()
Parameters: This method does not accepts any parameters
Return Value: This method do not returns any value.
Exception: This method throws IOException if some error occurs while input output.
Below methods illustrates the working of close() method:
Program 1:
// Java program to demonstrate // CharArrayReader close() 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 // to be read from the stream int ch; // Read the first 5 characters // to this reader using read() method // This will put the str in the stream // till it is read by the reader for ( int i = 0 ; i < 5 ; i++) { ch = reader.read(); System.out.println( "\nInteger value " + "of character read: " + ch); System.out.println( "Actual " + "character read: " + ( char )ch); } // Close the stream using close() reader.close(); System.out.println( "Stream Closed." ); } catch (Exception e) { System.out.println(e); } } } |
Integer value of character read: 71 Actual character read: G Integer value of character read: 101 Actual character read: e Integer value of character read: 101 Actual character read: e Integer value of character read: 107 Actual character read: k Integer value of character read: 115 Actual character read: s Stream Closed.
Program 2:
// Java program to demonstrate // CharArrayReader close() method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { char [] str = { 'G' , 'e' , 'e' , 'k' , 's' }; // Create a CharArrayReader instance CharArrayReader reader = new CharArrayReader(str); // Close the stream using close() reader.close(); System.out.println( "Stream Closed." ); // Check if the CharArrayReader is // ready to be read using ready() System.out.println( "Is CharArrayReader ready " + "to be read" + reader.ready()); } catch (Exception e) { System.out.println(e); } } } |
Stream Closed. java.io.IOException: Stream closed
Reference: https://docs.oracle.com/javase/9/docs/api/java/io/CharArrayReader.html#close–