Ich versuche, die Liste der Dateien in einem Verzeichnis und seinen Unterverzeichnissen abzurufen (nicht zu drucken, das ist einfach).
Ich habe es versucht:
def folder = "C:\\DevEnv\\Projects\\Generic";
def baseDir = new File(folder);
files = baseDir.listFiles();
Ich bekomme nur die Verzeichnisse. Ich habe auch versucht:
def files = [];
def processFileClosure = {
println "working on ${it.canonicalPath}: "
files.add (it.canonicalPath);
}
baseDir.eachFileRecurse(FileType.FILES, processFileClosure);
"Dateien" werden jedoch im Rahmen des Abschlusses nicht erkannt.
Wie bekomme ich die Liste?
file
groovy
directory-listing
Yossale
quelle
quelle
/tmp/directory1
Wie man dasdirectory1
alleine in der Ausgabe.
Es geht/./path
Neuere Versionen von Groovy (1.7.2+) bieten eine JDK-Erweiterung, mit der Dateien in einem Verzeichnis einfacher durchsucht werden können, zum Beispiel:
Siehe auch [1] für weitere Beispiele.
[1] http://mrhaki.blogspot.nl/2010/04/groovy-goodness-traversing-directory.html
quelle
Das Folgende funktioniert für mich in Gradle / Groovy für
build.gradle
ein Android-Projekt, ohne importiert werden zu müssengroovy.io.FileType
(HINWEIS: Unterverzeichnisse werden nicht wiederholt, aber als ich diese Lösung gefunden habe, habe ich mich nicht mehr um die Rekursion gekümmert, sodass Sie dies möglicherweise auch nicht tun):quelle
fileTree
rekursiert.FileTree
enthält keine Verzeichnisse (behandelt sie nicht als Dateien).Folgendes habe ich mir für ein Gradle-Build-Skript ausgedacht:
quelle