我试图获取(不是打印,这很容易)目录及其子目录中的文件列表。
我试过了:
def folder = "C:\\DevEnv\\Projects\\Generic";
def baseDir = new File(folder);
files = baseDir.listFiles();
我只拿到目录。我也试过:
def files = [];
def processFileClosure = {
println "working on ${it.canonicalPath}: "
files.add (it.canonicalPath);
}
baseDir.eachFileRecurse(FileType.FILES, processFileClosure);
但“案卷”不在结案范围之内。
我怎么拿到名单?
5条答案
按热度按时间zzwlnbp81#
以下代码对我有效:
之后,list变量包含给定目录及其子目录的所有文件(java.io.File):
2fjabf4q2#
Groovy(1.7.2+)的较新版本提供了JDK扩展,以便更轻松地遍历目录中的文件,例如:
有关更多示例,请参见[1]。
[1][http://mrhaki.blogspot.nl/2010/04/groovy-goodness-traversing-directory.html](http://mrhaki.blogspot.nl/2010/04/groovy-goodness-traversing-directory.html)
suzh9iv83#
以下代码适用于我在Gradle / Groovy for
build.gradle
中的Android项目,无需导入groovy.io.FileType
(注意:不递归子目录,但当我发现这个解决方案时,我不再关心递归,所以你可能也不会):nwo49xxi4#
这是我为Gradle构建脚本所做的:
7jmck4yq5#
使用KotlinGradle脚本,可以这样做: