这个 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);
【问题讨论】:
AFAKItry-with-resources
有点像try-finally
,保证始终执行关闭操作
【参考方案1】:
是的。
try-with-resources
Statement (Java Tutorials) 读取(部分)
try-with-resources 语句确保每个资源在语句结束时关闭。
【讨论】:
"语句结束时关闭" 但是语句结束前有return? 没关系,它在语句的末尾关闭(在那种情况下return
是 语句的末尾 )。以上是关于这个 try-catch-with-resourcers 会自动关闭吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章