Método close() de BufferedInputStream en Java con ejemplos

El método close() de la clase BufferedInputStream en Java cierra el flujo de entrada y libera los recursos del sistema asociados con él. Una vez que se llama al método close(), se prohíbe la lectura de cualquier archivo de entrada y el sistema lanzará una IOException. Para abordar el problema, el usuario puede usar un bloque de prueba y captura para detectar cualquier excepción y lanzar una instrucción adecuada.

Sintaxis:

public void close()

Parámetros: este método no acepta ningún parámetro.

Valor devuelto : este método no devuelve ningún valor.

Anulaciones: el método se anula al cerrar en la clase FilterInputStream .

Excepción: este método lanza IOException si ocurre algún error de entrada-salida.

Los siguientes programas ilustran el método close() en la clase BufferedInputStream en el paquete IO:

Programa 1: Suponga la existencia del archivo “c:/demo.txt”.

// Java program to illustrate
// BufferedInputStream.close() method
  
import java.io.*;
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create input stream 'demo.txt'
        // for reading containing
        // text "GEEKSFORGEEKS"
        FileInputStream inputStream
            = new FileInputStream("c:/demo.txt");
  
        // Convert inputStream to
        // bufferedInputStream
        BufferedInputStream buffInputStr
            = new BufferedInputStream(inputStream);
  
        // Get the number of bytes available
        // to read using available() method
        int rem_byte = buffInputStr.available();
  
        // Number of bytes available is printed
        System.out.println(
            "Remaining Byte: " + rem_byte);
  
        // Close the file
        buffInputStr.close();
    }
}
Producción:

Remaining Byte: 13

Programa 2: Suponga la existencia del archivo “c:/demo.txt”.

// Java program to illustrate
// BufferedInputStream.close() method
  
import java.io.*;
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
        try {
  
            // create input stream 'demo.txt'
            // for reading containing
            // text "GEEKS"
            FileInputStream inputStream
                = new FileInputStream(
                    "c:/demo.txt");
  
            // convert inputStream to
            // bufferedInputStream
            BufferedInputStream buffInputStr
                = new BufferedInputStream(
                    inputStream);
  
            // get the number of bytes available
            // to read using available() method
            int rem_byte
                = buffInputStr.available();
  
            // number of bytes available is printed
            System.out.println(rem_byte);
  
            // close the file
            buffInputStr.close();
  
            // now throws io exception
            // if available() is invoked
            // after close()
            rem_byte = buffInputStr.available();
  
            System.out.println(rem_byte);
        }
        catch (IOException e) {
            // exception occurred.
            System.out.println(
                "Error: Sorry 'buffInputStr'"
                + " is closed");
        }
    }
}
Producción:

5
Error: Sorry 'buffInputStr' is closed

Referencias: https://docs.oracle.com/javase/10/docs/api/java/io/BufferedInputStream.html#close()

Publicación traducida automáticamente

Artículo escrito por pp_pankaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *