El método close() de Reader Class en Java se usa para cerrar la secuencia y liberar los recursos que estaban ocupados en la secuencia, si los hubiera. Este método tiene los siguientes resultados:
- Si la transmisión está abierta, cierra la transmisión liberando los recursos.
- Si la transmisión ya está cerrada, no tendrá ningún efecto.
- Si se realiza alguna operación de lectura u otra operación similar en la secuencia, después de cerrarla, genera IOException
Sintaxis:
public abstract void close()
Parámetros: este método no acepta ningún parámetro
Valor devuelto: este método no devuelve ningún valor.
Excepción: este método lanza IOException si ocurre algún error durante la entrada de salida.
Los siguientes métodos ilustran el funcionamiento del método close():
Programa 1:
// Java program to demonstrate // Reader close() method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { String str = "GeeksForGeeks"; // Create a Reader instance Reader reader = new StringReader(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); } } }
Producción:
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.
Programa 2:
// Java program to demonstrate // Reader close() method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { String str = "GeeksForGeeks"; // Create a Reader instance Reader reader = new StringReader(str); // Close the stream using close() reader.close(); System.out.println("Stream Closed."); // Check if the Reader is // ready to be read using ready() System.out.println("Is Reader ready " + "to be read" + reader.ready()); } catch (Exception e) { System.out.println(e); } } }
Producción:
Stream Closed. java.io.IOException: Stream closed
Referencia: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#close–