J'essaye d'obtenir (pas d'imprimer, c'est facile) la liste des fichiers dans un répertoire et ses sous-répertoires.
J'ai essayé:
def folder = "C:\\DevEnv\\Projects\\Generic";
def baseDir = new File(folder);
files = baseDir.listFiles();
Je ne reçois que les répertoires. J'ai aussi essayé:
def files = [];
def processFileClosure = {
println "working on ${it.canonicalPath}: "
files.add (it.canonicalPath);
}
baseDir.eachFileRecurse(FileType.FILES, processFileClosure);
Mais les "fichiers" ne sont pas reconnus dans le cadre de la fermeture.
Comment obtenir la liste?
file
groovy
directory-listing
Yossale
la source
la source
/tmp/directory1
Comment obtenir ledirectory1
seul dans la sortie.
It/./path
Les versions plus récentes de Groovy (1.7.2+) offrent une extension JDK pour parcourir plus facilement les fichiers d'un répertoire, par exemple:
Voir aussi [1] pour plus d'exemples.
[1] http://mrhaki.blogspot.nl/2010/04/groovy-goodness-traversing-directory.html
la source
Ce qui suit fonctionne pour moi dans Gradle / Groovy pour
build.gradle
un projet Android, sans avoir à importergroovy.io.FileType
(NOTE: ne récurent pas les sous-répertoires, mais quand j'ai trouvé cette solution, je ne me souciais plus de la récursivité, donc vous ne pouvez pas non plus):la source
fileTree
se répète.FileTree
n'inclut pas les répertoires (ne les traitant pas comme des fichiers).Voici ce que j'ai proposé pour un script de construction gradle:
la source