我是Groovy的新手。我曾经在使用I / O流时在我的Java代码中使用'try-with-resources'构造。
请问请问,Groovy中是否有类似的这种结构?
答案 0 :(得分:49)
Groovy 2.3还有withCloseable
,它可用于任何实现Closeable
答案 1 :(得分:29)
查看the docs on Groovy IO
和相关的javadoc。
它提供了withStream
,withWriter
,withReader
结构,这些结构是获取具有自动关闭功能的流的方法
答案 2 :(得分:-1)
以下是所有Groovy版本的最简单的try-with-resources(甚至适用于AutoCloseable
接口)。其中类Thing
是可关闭类或实现AutoCloseable
。
new Thing().with { res ->
try {
// do stuff with res here
} finally {
res.close()
}
}
在以后的Groovy版本中,这是等效的:
new Thing().withCloseable { res ->
// do stuff with res here
}