6. 自动关闭文件


JDK7新增加了一个特性,该特性提供了另一种管理资源的方式,这种方式能自动关闭文件。这个特性有时被称为自动资源管理(Automatic Resource Management, ARM)
ARM的主要优点在于 : 当不再需要文件或其他资源时,可以防止无意中忘记释放它们。
基本形式如下 :

try(resource-specification) {
}

但该特性只能针对于实现了AutoCloseable接口的资源使用带资源的try语句,所有的流类都实现了这个接口。

package LearnIO;  
  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
  
/**  
 * 使用ARM特性  
 *  
 * @author cat  
 * @version 2025/2/27 18:26  
 * @since JDK17  
 */  
public class UseRead02 {  
  
    public static void main(String[] args) {  
        // 打开一个文件  
        try (FileInputStream inputStream = new FileInputStream("D:\\test.txt")) {  
            int data;  
            while ((data = inputStream.read()) != -1) {  
                System.out.print(((char) data));  
            }  
        } catch (IOException e) {  
            throw new RuntimeException(e);  
        }  
    }  
}
输出 : 
The will of Kowloon is here.
  • try语句中声明的资源被隐式地声明为final,这意味着在创建资源变量后不能再将其他资源赋给该变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值