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 .
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