Java-io-fileinputstream-finalize
提供:Dev Guides
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.finddevguides;
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 {
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
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Error: read() invoked after finalize()