java关闭流的两种方法

java关闭流的两种方法

当使用完流后,关闭所有打开的流仍然是一个好习惯。一个被打开的流有可能会用尽系统的资源,这取决于平台和实现。如果没有将流关闭,另一个程序试图打开另一个流时,可能会得到不需要的资源。

有两种关闭方式:

​ 如下:

jdk1.7之前

方法一:手动关闭,即为使用close(),部分代码如下:

FileWriter fw = null;
try {
	fw = new FileWriter("test\\test.txt");
    fw.write("test");
 }catch (Exception e) {
 	e.printStackTrace();
 }finally {
   // 
    if(fw != null) {
        try {
            fw.close(); // 关闭
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

jdk1.8

方法二:自动关闭,即为使用try语句自动关闭流,部分代码如下:

// 直接在try()中创建流对象 会默认关闭
try(FileWriter fw = new FileWriter("test.txt")) {
    fw.write("test");
} catch(Exception ex) {
    ex.printStackTrace();
}//try..catch语句结束后自动关闭

在这里插入图片描述

编译后文件:

在这里插入图片描述

注:可以使用该方式关闭流的前提是对象一定要实现AutoCloseable接口,其原理还是在编译的时候JDK给我们生成了finally来关闭流

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值