Java.io.FileInputStream.finalize()方法实例
java.io.FileInputStream.finalize() 方法确保该文件输入流的close方法被调用的时候它不用有引用。
声明
以下是java.io.FileInputStream.finalize()方法的声明:
protected void finalize()
参数
-
NA
返回值
此方法不返回任何值。
异常
-
IOException -- 如果发生I/ O错误..
例子
下面的示例演示java.io.FileInputStream.finalize()方法的用法。
package com.yiibai; import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamAvailable extends FileInputStream { public FileInputStreamAvailable() throws Exception { super("C://test.txt"); } public static void main(String[] args) throws IOException { FileInputStream fis = null; int i; char c; try{ // create new File input stream FileInputStreamAvailable fisa = new FileInputStreamAvailable(); // read byte from file input stream i=fisa.read(); // converts int to char c=(char)i; // prints character System.out.println(c); // finalize method invoked fisa.finalize(); // method revoked after finalize metod i=fisa.read(); c=(char)i; System.out.println(c); }catch(Exception ex){ // if any error occurs System.out.print("Error: read() invoked after finalize()"); }finally{ // releases all system resources from the streams if(fis!=null) fis.close(); } } }
假设我们有一个文本文件c:/ test.txt,它具有以下内容。该文件将被用作输入到我们的示例程序:
ABCDE
让我们来编译和运行上面的程序,这将产生以下结果:
A Error: read() invoked after finalize()