gpt4 book ai didi

java - 带有 groovy 的 DirectoryStream

转载 作者:行者123 更新时间:2023-12-02 13:23:54 26 4
gpt4 key购买 nike

我想使用 java 8 DirectoryStream 来查找与 glob 模式匹配的文件,但我想在 Groovy 中执行此操作(至少 2.4)。不过,我很难找到如何做到这一点的示例,因为 groovy 中不存在 try-with-resources。

此外,如果搜索模式是 **/*.txt 怎么办?该模式表示它应该跨越目录边界,但我对 DirectoryStream 的理解是它不会。

def recent = {File file -> new Date() - new Date(file.lastModified) < 7}
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, job.pattern)) {
for (Path entry : stream) {
if(recent){
/*dostuff*/
}
}
}

最佳答案

以下内容符合您的要求(我认为)

Files.newDirectoryStream(dir, { f -> f.fileName ==~ /.+\.txt/ }).withCloseable { stream ->
stream.each {
println it
}
}

正如你所说,它不会递归到目录

关于java - 带有 groovy 的 DirectoryStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43459697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com