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()