1. ホーム
  2. file

[解決済み] ディレクトリ内の全ファイルのリストを取得する(再帰的)。

2022-12-22 09:42:09

質問

私は、あるディレクトリとそのサブディレクトリにあるファイルのリストを取得しようとしています(印刷はしません、それは簡単です)。

私は試しました。

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);

しかし、"files"はクロージャのスコープで認識されません。

リストを取得するにはどうしたらよいでしょうか。

どのように解決するのですか?

このコードは私のために動作します。

import groovy.io.FileType

def list = []

def dir = new File("path_to_parent_dir")
dir.eachFileRecurse (FileType.FILES) { file ->
  list << file
}

その後、list変数に与えられたディレクトリとそのサブディレクトリのすべてのファイル(java.io.File)が格納されます。

list.each {
  println it.path
}