FileOutputStream类的finalize()方法 (FileOutputStream Class finalize() method)
finalize() method is available in java.io package.
finalize()方法在java.io包中可用。
finalize() method is used to free connection to the file and it assures that close() method of this FileOutputStream invokes when there is none references exist to this FileOutputStream.
finalize()方法用于释放与文件的连接,并确保当不存在对此FileOutputStream的引用时,调用此FileOutputStream的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 FileOutputStream
import java.io.*;
public class FinalizeOfFOS extends FileOutputStream {
public FinalizeOfFOS() throws Exception {
super("D:\\includehelp.txt");
}
public static void main(String[] args) throws IOException {
int val;
try {
// Instantiates FinalizeOfFOS
FinalizeOfFOS fos_stm = new FinalizeOfFOS();
// By using write() method is to write
// a byte to fos_stm
fos_stm.write(97);
// By using finalize() method is to free
// memory when no more references exists
System.out.println("finalize() invoked: ");
fos_stm.finalize();
// when we call write() method after
// finalizing the stream will not result an exception
fos_stm.write(99);
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
Output
输出量
finalize() invoked:
翻译自: https://www.includehelp.com/java/fileoutputstream-finalize-method-with-example.aspx