Método FileInputStream finalize() en Java con ejemplos

El método Java.io.FileInputStream.finalize() es parte de   la clase Java.io.FileInputStream . Garantiza que se llame al método de cierre de fileInputStream siempre que no existan más referencias de fileInputStream.

  • El método finalize() está anotado como @Deprecated.
  • El método finalize() se usa para realizar un acto de limpieza cuando no existen más referencias.
  • El método finalize() podría lanzar IOException.
  • El método finalize() está protegido , lo que significa que las diferentes subclases de paquetes no pueden acceder a ellos.
  • FileInputStream.finalize() está disponible en el paquete java.io.* .

Sintaxis:

protected void finalize​() throws IOException

Tipo de retorno: el método finalize() tiene un tipo de retorno nulo, lo que significa que este método no devuelve nada.

Excepción: el método finalize() podría lanzar IOException si surge alguna excepción de entrada/salida.

¿Cómo invocar el método finalizar()?

Paso 1 : primero, debemos crear una clase que amplíe FileInputStream y pase fileName a su clase principal.

public class GFG extends FileInputStream
{
    public GFG()
    {
        super(fileName);
    }
}

Paso 2 : cree una instancia de la clase que creamos en el Paso 1

GFG gfg=new GFG();

Paso 3 : invoca el método finalize()

gfg.finalize();

El siguiente programa ilustrará el uso del método Java.io.FileInputStream.finalize()

Ejemplo:

Java

// Java Program to illustrate the use of the
// Java.io.FileInputStream.finalize() method
  
import java.io.*;
import java.io.FileInputStream;
import java.io.IOException;
  
public class GFG extends FileInputStream {
    // parameterized constructor
    public GFG(String fileName) throws Exception
    {
        super(fileName);
    }
    
    public static void main(String[] args)
    {
        try {
            // create instance of GFG class that 
            // extends FileInputStream.
            // user should change name of the file
            GFG gfg = new GFG("C://geeksforgeeks//tmp.txt");
  
            // reading bytes from file
            System.out.println(
                "Content read from the file before finalize method is called :");
            
            for (int i = 0; i <= 13; i++)
                System.out.print((char)gfg.read());
  
            // finalize() method is called.
            // method will perform the cleanup act 
            // if no reference is available
            gfg.finalize();
  
            // reading bytes again from file
            System.out.println(
                "Content read from the file after finalize method is called :");
            
            for (int i = 13; i < 47; i++)
                System.out.print((char)gfg.read());
        }
        catch (Throwable t) {
            System.out.println("Some exception");
        }
    }
}

Producción-

Content read from the file before finalize method is called :
GeeksForGeeks
Content read from the file after finalize method is called :
is the best website for programmer

Del resultado, está claro que podemos leer el archivo antes e incluso después de invocar el método finalize(). Dado que el método finalize() realiza el acto de limpieza cuando solo no existe ninguna referencia .

tmp.txt

Nota : es posible que los programas no se ejecuten en un IDE en línea. utilice un IDE sin conexión y cambie el nombre del archivo según sus necesidades.

Publicación traducida automáticamente

Artículo escrito por harshsethi2000 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 *