我有一个非常大的文件系统,其文件夹结构可以是4级深度。我有一个文件(即test.log),可以在此文件夹结构中的任何位置。我不是递归遍历整个文件夹结构,而是想应用一些选择,只搜索在过去4小时内修改过的文件夹。我如何使用Groovy遍历来执行这样的操作?感谢
答案 0 :(得分:0)
也许这会起作用(无法检查):
import static groovy.io.FileType.*
import static groovy.io.FileVisitResult.*
import groovy.time.TimeCategory
currentDate = new Date()
use( TimeCategory ) {
before4hours = currentDate - 4.hours
}
def toTravserse = new File('<SOME_DIR>')
toTravserse.traverse(
type : FILES,
maxDepth : 4,
nameFilter : ~/test.log/,
preDir : { if (it.lastModified() < before4hours.time) return SKIP_SUBTREE },
) { println "Found: $it" }
查看docs。