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