当前位置: 首页 > news >正文

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,这意味着在创建资源变量后不能再将其他资源赋给该变量。

相关文章:

  • 知识图谱neo4j+vue+flask课程在线学习系统
  • 怎么下载安装yarn
  • Hive-05之查询 分组、排序、case when、 什么情况下Hive可以避免进行MapReduce
  • 【计算机网络基础】-------计算机网络概念
  • postgresql源码学习(60)—— VFD的作用及机制
  • 大模型function calling:让AI函数调用更智能、更高效
  • 六十天前端强化训练之第七天CSS预处理器(Sass)案例:变量与嵌套系统详解
  • 铁锈生锈检测数据集VOC+YOLO格式600张1类别
  • SSH密码更改
  • 【HTTP】解码网络通信的奥秘:HTTP,IP 地址,端口,DNS及NAT地址转换的协同之舞
  • The “Rule-of-Zero“ should be followed (s4963)
  • 【Envi遥感图像处理】014:影像非监督分类
  • JS宏案例:多项式回归
  • 数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价
  • Spark核心之01:架构部署、sparkshell、程序模板
  • 前端面试题最新版
  • DeepSeek + dify 搭建本地知识库
  • DifyでOracle Base Database Service(23ai)を利用する設定手順
  • 1114棋盘问题acwing(深度优先搜索)
  • 机器学习的三个基本要素
  • 番禺 建网站 360元/网络排名优化软件
  • 精品下载站/高级seo招聘
  • 建设银行的登录网站/长沙seo优化价格
  • 自己网站wordpress主题怎么/成人本科报考官网
  • 做自己的彩票网站/徐州网站优化
  • 深圳视频seo/南宁seo内部优化