在我的 gradle 任务中,我迭代 fileTree 并且一切正常:
myTask {
fileTree("${project.projectDir}/dir").visit { FileVisitDetails details ->
exec {
//do some operations
}
}
}
但现在我的目录中有不同类型的文件:
dir
├── sub1
│ ├── file1.json
│ └── file2.js
├── sub2
│ ├── file1.json
│ └── file2.js
└── sub3
├── file1.js
└── file2.json
如何仅迭代某些类型的文件?因为
"${project.projectDir}/folder/dir/**/*.json"
不起作用。
感谢您的建议
最佳答案
您应该使用matching
来自 FileTree
的方法。它使用 PatternFilterable
作为参数。
尝试一下:
fileTree("${project.projectDir}/dir").matching {
include "**/*.json"
}.each {
// do some operations
}
关于Gradle - 如何仅针对特定类型的文件在 fileTree 中进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53190618/