java 8 try关闭流_使用try with resource 关闭流,关闭资源

在Commons方法废弃前,关闭流方式:

public static void main(String[] args) {

FileInputStream inputStream = null;

try {

inputStream = new FileInputStream(new File("test"));

System.out.println(inputStream.read());

} catch (IOException e) {

throw new RuntimeException(e.getMessage(), e);

} finally {

if (inputStream != null) {

try {

inputStream.close();

} catch (IOException e) {

throw new RuntimeException(e.getMessage(), e);

}

}

}

}

JDK7及其之后的资源关闭方式:

使用try with resource优雅关闭流

public static void main(String[] args) {

try (FileInputStream inputStream = new FileInputStream(new File("test"))) {

System.out.println(inputStream.read());

} catch (IOException e) {

throw new RuntimeException(e.getMessage(), e);

}

}

最后

1、当一个外部资源的句柄对象实现了AutoCloseable接口,JDK7中便可以利用try-with-resource语法更优雅的关闭资源,消除板式代码。

2、try-with-resource时,如果对外部资源的处理和对外部资源的关闭均遭遇了异常,“关闭异常”将被抑制,“处理异常”将被抛出,但“关闭异常”并没有丢失,而是存放在“处理异常”的被抑制的异常列表中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值