finalize()
方法finalize()方法在java.io包中可用。
finalize()方法用于释放与文件的连接,并确保close()
当不存在对此FileOutputStream的引用时,调用此FileOutputStream的方法。
finalize()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
finalize()方法可能会在最终确定流时抛出异常。
IOException:在获取任何输入/输出错误时,可能引发此异常。
语法:
protected void finalize();
参数:
它不接受任何参数。
返回值:
该方法的返回类型为void,不返回任何内容。
示例
//Java程序演示示例 //finalize()FileOutputStream的void方法的说明 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 { //实例化FinalizeOfFOS- FinalizeOfFOS fos_stm = new FinalizeOfFOS(); //通过使用write()方法就是写 //一个字节到fos_stm- fos_stm.write(97); //通过使用finalize()方法就是免费 //没有更多引用存在时的内存 System.out.println("finalize() invoked: "); fos_stm.finalize(); //当我们调用write()方法之后 //结束流不会导致异常 fos_stm.write(99); } catch (Exception ex) { System.out.println(ex.toString()); } } }
输出结果
finalize() invoked: