Java FileInputStream finalize()方法与示例

FileInputStream类的finalize()方法 (FileInputStream Class finalize() method)

  • finalize() method is available in java.io package.

    finalize()方法在java.io包中可用。

  • finalize() method is used to assure that close() method of this FileInputStream invokes when there are none references exists or in other words, we can say close() method call after destroying or free all of its references.

    finalize()方法用于确保在不存在任何引用的情况下调用此FileInputStream的close()方法,换句话说,我们可以在销毁或释放所有引用之后说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 FileInputStream

import java.io.*;

public class FinalizeOfFIS extends FileInputStream {
 public FinalizeOfFIS() throws Exception {
  super("D:\\includehelp.txt");
 }

 public static void main(String[] args) throws IOException {
  int val;
  try {
   // Instantiates FinalizeOfFIS
   FinalizeOfFIS fis_stm = new FinalizeOfFIS();

   // By using read() method is to read
   // a byte from fis_stm
   val = fis_stm.read();

   // Display corresponding bytes value
   byte b = (byte) val;

   // Display value of b
   System.out.println("fis_stm.read() before finalize(): " + b);

   // By using finalize() method is to free
   // memory when no more references exists   
   fis_stm.finalize();

   // when we call read() method after
   // finalizing the stream will not result an exception
   val = fis_stm.read();
   b = (byte) val;
   System.out.println("fis_stm.read() after finalize(): " + b);

  } catch (Exception ex) {
   System.out.println(ex.toString());
  }
 }
}

Output

输出量

fis_stm.read() before finalize(): 0
fis_stm.read() after finalize(): 4


翻译自: https://www.includehelp.com/java/fileinputstream-finalize-method-with-example.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值