首页 > 其他分享 >try-with-resource的使用

try-with-resource的使用

时间:2024-04-10 15:59:46浏览次数:23  
标签:resource String try resources 使用 close 异常 资源

try-with-resources支持从 Java 7 开始的所有后续版本。
只有实现了 AutoCloseable 或 Closeable 接口的资源才能用于 try-with-resources。
可以在括号内声明多个资源,用分号分隔。
如果 try 块中抛出了异常,并且 close() 方法也抛出了异常,那么抛出的异常将是 try 块中的异常,而 close() 方法抛出的异常将被抑制。
try-with-resources语句可以确保资源在操作完成后被自动关闭,无论是否出现异常,从而有助于避免资源泄露。
try-with-resources语句最优雅的用法通常涉及以下几点:
单一职责原则:每个资源只用于一个目的,确保资源的清晰和专注。
自动资源管理:利用 try-with-resources 自动关闭资源,无需手动调用 close() 方法。
简洁性:通过减少冗余代码,使代码更加简洁和易读。
异常处理:合理处理可能发生的异常,保持代码的健壮性。

package org.example.exercise.trycr;


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
 * TODO
 *
 * @author .mo
 * @version 1.0
 * @date 2024/4/10 15:15
 */
public class ExerciseTryWithResources {
    public static void main(String[] args) {
        String filePath = "G:\\test.txt";
        // 使用 try-with-resources 管理资源
        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.err.println("读取文件发生异常: " + e.getMessage());
        }
    }
}


在这里插入图片描述

标签:resource,String,try,resources,使用,close,异常,资源
From: https://blog.csdn.net/yizhousai0662/article/details/137598154

相关文章

  • 大厂设计师都在使用各种矢量图标
    好用的产品离不开设计视觉规范的图标,一个图标是正确传达所表达的信息极其的重要,以下整理UI产品日常工国外图标网址:网址一:TablerIcons网址二:https://remixicon.com/网址三:https://feathericons.com/国内:网址一:https://iconpark.oceanengine.com/home网址二:https:......
  • 使用DISM命令来管理和操作WIM映像并将其转换为FFU映像可以按照以下步骤进行:
    使用DISM命令来管理和操作WIM映像并将其转换为FFU映像可以按照以下步骤进行:挂载WIM映像:使用Dism/Mount-Wim命令来挂载WIM映像到指定目录。powershellCopyCodeDism/Mount-Wim/WimFile:"C:\path\to\install.wim"/Index:1/MountDir:"C:\Mount"转换为FFU:使用Dism/Captur......
  • 要使用PowerShell命令将ESD映像转换为FFU映像,您可以借助dism.exe工具和PowerShell脚本
    要使用PowerShell命令将ESD映像转换为FFU映像,您可以借助dism.exe工具和PowerShell脚本来完成。下面是一个示例PowerShell脚本:powershellCopyCode#定义输入和输出文件路径$ESDFile="C:\path\to\install.esd"$WimFile="C:\Temp\install.wim"$FFUFile="C:\path\to\insta......
  • 使用PowerShell命令将WIM映像转换为FFU映像,您可以使用dism.exe工具结合PowerShell脚本
    使用PowerShell命令将WIM映像转换为FFU映像,您可以使用dism.exe工具结合PowerShell脚本来完成。以下是一个示例PowerShell脚本:powershellCopyCode#定义输入和输出文件路径$WimFile="C:\path\to\install.wim"$FFUFile="C:\path\to\install.ffu"#挂载WIM映像$MountDir......
  • 【大模型应用开发-FastAPI框架】(五)FastAPI 如何通过Poetry运行FastAPI应用程序
    一、概述FastAPI是一个现代、快速(高性能)的Web框架,用于构建API。Poetry是一个Python的依赖管理和打包工具,可以帮助我们更有效地管理项目的依赖和环境。在本文中,我们将介绍如何使用Poetry来运行FastAPI应用程序。二、安装FastAPI和Poetry在开始之前,我们需要先安装FastAPI和P......
  • 【猜数字游戏】-C语言循环的应用及扩展函数的使用
    一、扩展函数的应用1.rand()生成随机数rand()函数需要引用一个头文件:#include<stdlib.h>intrand(void)//int代表返回一个整数,void代表无参数rand()无参数,会返回一个伪随机数,范围是0-RAND_MAX,这个RAND_MAX的大小依赖于编译器,大部分编译器上是32767rand()函数用法展......
  • jmeter全局变量跨线程使用
    混合场景:不同数量的并发用户数,向不同接口发起请求**---这种才是真正的混合场景,才真正符合企业产品实际情况  跨线程组传参   线程组1 30   线程组2 20   线程组3 10 一、注册接口,请求成功后,返回的手机号用于登录,先用json提取器取出手机号,设置手机号为全......
  • 使用Python+selenium+pytest+allure 编写ui自动化
    一、1.1背景:每次新发布功能后都需要手动跑冒烟用例,重复点击太多,消耗人力资源1.2测试项目:飞书第三方isv应用1.3技术栈:Python+Selenium+Pytest+Allure1.4框架设计:使用PageObject设计模式,将页面的元素和元素之间的操作方法进行分离。它有三层架构,分别为:基础封装层BasePage,PO页面......
  • 克魔助手工具详解、数据包抓取分析、使用教程
     目录摘要引言克魔助手界面克魔助手查看数据捕获列表数据包解析窗口数据包数据窗口克魔助手过滤器表达式的规则抓包过滤器实例总结参考资料摘要本文介绍了克魔助手工具的界面和功能,包括数据包的捕获和分析,以及抓包过滤器的使用方法。同时提供了一些代码案例演示......
  • TACC 集群使用笔记
    1注册账号先在网页上注册账号,之后需要联系导师或者管理员把你添加到对应的集群里去,例如我加入的是Lonestar6集群。之后需要跟着这个教程绑定MFA软件(可以是DUO或者1password)之后登录账号,系统会要求先后输入你的账户密码和MFA的6位数tokenlocal@username$sshuse......