我正在尝试获取(不是打印,这很简单)目录及其子目录中的文件列表。
我已经尝试过:
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);
但是"file"在闭包范围内不被识别。
如何获取列表?
最佳答案
这段代码对我有用:
import groovy.io.FileType
def list = []
def dir = new File("path_to_parent_dir")
dir.eachFileRecurse (FileType.FILES) { file ->
list << file
}
之后列表变量包含给定目录及其子目录的所有文件(java.io.File):
list.each {
println it.path
}
关于file - 获取目录中所有文件的列表(递归),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953965/