Java.io.FileInputStream.finalize() 方法是 Java.io.FileInputStream 類的一部分。它確保在不再存在對 fileInputStream 的引用時調用 fileInputStream 的 close 方法。
- finalize() 方法被注解為@Deprecated。
- finalize() 方法用於在不再存在引用時執行清理操作。
- finalize() 方法可能會拋出 IOException。
- finalize() 方法是受保護的,這意味著不同的包子類不能訪問它們。
- FileInputStream.finalize() 在 java.io.* 包中可用。
用法:
protected void finalize() throws IOException
返回類型:finalize() 方法具有 void 返回類型,這意味著此方法不返回任何內容。
異常:如果引發任何輸入/輸出異常,finalize() 方法可能會拋出 IOException。
如何調用finalize() 方法?
步驟 1- 首先,我們必須創建一個擴展 FileInputStream 並將 fileName 傳遞給其父類的類。
public class GFG extends FileInputStream { public GFG() { super(fileName); } }
第 2 步 - 創建我們在第 1 步中創建的類的實例
GFG gfg=new GFG();
第 3 步 - 調用 finalize() 方法
gfg.finalize();
下麵的程序將說明 Java.io.FileInputStream.finalize() 方法的使用 -
例:
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");
}
}
}
輸出-
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
從輸出中可以清楚地看出,我們可以在調用 finalize() 方法之前甚至之後讀取文件。由於 finalize() 方法僅在不存在引用時執行清理操作。
tmp.txt
Note:The programs might not run in an online IDE. please use an offline IDE and change the Name of the file according to your need.
相關用法
- Java FileInputStream read()用法及代碼示例
- Java FileInputStream close()用法及代碼示例
- Java FileInputStream getFD()用法及代碼示例
- Java FileInputStream skip()用法及代碼示例
- Java FileInputStream getChannel()用法及代碼示例
- Java FileInputStream available()用法及代碼示例
- Java Java.io.FileInputStream用法及代碼示例
- Java FileInputStream和ObjectInputStream的區別用法及代碼示例
- Java FileInputStream和FileReader的區別用法及代碼示例
- Java Java lang.Long.lowestOneBit()用法及代碼示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代碼示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代碼示例
- Java Java lang.Long.highestOneBit()用法及代碼示例
- Java Java lang.Long.byteValue()用法及代碼示例
- Java Java lang.Long.reverse()用法及代碼示例
- Java Clock tickMinutes()用法及代碼示例
- Java Clock withZone()用法及代碼示例
- Java Java.util.Collections.rotate()用法及代碼示例
- Java Java.util.Collections.disjoint()用法及代碼示例
注:本文由純淨天空篩選整理自harshsethi2000大神的英文原創作品 FileInputStream finalize() Method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。