这个 try-catch-with-resourcers 会自动关闭吗? [复制]

Posted

技术标签:

【中文标题】这个 try-catch-with-resourcers 会自动关闭吗? [复制]【英文标题】:does this try-catch-with-resourcers autoclose? [duplicate] 【发布时间】:2015-09-12 01:28:56 【问题描述】:

这个 try-catch-with-resources 会自动关闭吗? 它在到达末尾之前在正文中有一个return。 它还会自动关闭流吗?

    try (FileReader reader = new FileReader(characterFile)) 
        final SavedPlayer savedPlayer = GSON.fromJson(reader, SavedPlayer.class);

        return new Login(player, LoginType.SUCCESSFUL);
     catch (IOException e) 
        e.printStackTrace();
        return new Login(player, LoginType.INPUT_FAILURE);
    

【问题讨论】:

AFAKI try-with-resources 有点像try-finally,保证始终执行关闭操作 【参考方案1】:

是的。

try-with-resources Statement (Java Tutorials) 读取(部分)

try-with-resources 语句确保每个资源在语句结束时关闭。

【讨论】:

"语句结束时关闭" 但是语句结束前有return? 没关系,它在语句的末尾关闭(在那种情况下return 语句的末尾 )。

以上是关于这个 try-catch-with-resourcers 会自动关闭吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

SAP中MBRL这个功能,能不能用ABPI实现?

为啥这个 xpath 匹配这个文本节点?

这个片段中的这个是啥?

为啥这个正则表达式不匹配这个文本?

为啥这个地方的testMapper为空啊

如何摆脱这个 - 消息:'你没有订阅这个 API。'。?