file - 获取目录中所有文件的列表(递归)

标签 file groovy directory-listing

我正在尝试获取(不是打印,这很简单)目录及其子目录中的文件列表。

我已经尝试过:

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/

相关文章:

grails - 从grails项目执行gant脚本

linux - 命令行调用将目录中的文件根据文件大小分为三个子目录,分别命名为小、中和大

c# - 读取文本文件的最后一行

linux - 更改文件的权限

grails - Intellij 12.1.6(社区),正在创建Grails项目,已捕获:groovy.lang.MissingPropertyException:无此类属性:用于类:BuildConfig的grails

performance - Groovy I/O 性能问题

Tomcat 启用仅在文件夹中列出

html - 如何在 HTML 中显示 Web 服务器文件列表

.net - Windows 文件系统中是否有为每个文件预先计算的哈希值?

javascript - 如何在不使用具有下载属性或服务器的 <a> 元素的情况下下载文件?