FileInputStream類的finalize()方法 (FileInputStream Class finalize() method)
finalize() method is available in java.io package.
finalize()方法在java.io包中可用。
finalize() method is used to assure that close() method of this FileInputStream invokes when there are none references exists or in other words, we can say close() method call after destroying or free all of its references.
finalize()方法用于確保在不存在任何引用的情況下調用此FileInputStream的close()方法,換句話說,我們可以在銷毀或釋放所有引用之后說close()方法調用。
finalize() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
finalize()方法是一種非靜態方法,只能通過類對象訪問,如果嘗試使用類名稱訪問該方法,則會收到錯誤消息。
finalize() method may throw an exception at the time of finalizing the stream.
finalize()方法可能會在最終確定流時拋出異常。
IOException: This exception may throw while getting any input/output error.
IOException :在獲取任何輸入/輸出錯誤時,可能引發此異常。
Syntax:
句法:
protected void finalize();
Parameter(s):
參數:
It does not accept any parameter.
它不接受任何參數。
Return value:
返回值:
The return type of the method is void, it returns nothing.
該方法的返回類型為void ,不返回任何內容。
Example:
例:
// Java program to demonstrate the example
// of void finalize() method of FileInputStream
import java.io.*;
public class FinalizeOfFIS extends FileInputStream {
public FinalizeOfFIS() throws Exception {
super("D:\\includehelp.txt");
}
public static void main(String[] args) throws IOException {
int val;
try {
// Instantiates FinalizeOfFIS
FinalizeOfFIS fis_stm = new FinalizeOfFIS();
// By using read() method is to read
// a byte from fis_stm
val = fis_stm.read();
// Display corresponding bytes value
byte b = (byte) val;
// Display value of b
System.out.println("fis_stm.read() before finalize(): " + b);
// By using finalize() method is to free
// memory when no more references exists
fis_stm.finalize();
// when we call read() method after
// finalizing the stream will not result an exception
val = fis_stm.read();
b = (byte) val;
System.out.println("fis_stm.read() after finalize(): " + b);
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
Output
輸出量
fis_stm.read() before finalize(): 0
fis_stm.read() after finalize(): 4
翻譯自: https://www.includehelp.com/java/fileinputstream-finalize-method-with-example.aspx