Groovy,“尝试与资源”建设的替代方案

时间:2014-04-30 07:25:57

标签: groovy

我是Groovy的新手。我曾经在使用I / O流时在我的Java代码中使用'try-with-resources'构造。

请问请问,Groovy中是否有类似的这种结构?

3 个答案:

答案 0 :(得分:49)

Groovy 2.3还有withCloseable,它可用于任何实现Closeable

的内容

答案 1 :(得分:29)

查看the docs on Groovy IO和相关的javadoc。 它提供了withStreamwithWriterwithReader结构,这些结构是获取具有自动关闭功能的流的方法

答案 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
}