Estoy tratando de obtener (no imprimir, eso es fácil) la lista de archivos en un directorio y sus subdirectorios.
He intentado:
def folder = "C:\\DevEnv\\Projects\\Generic";
def baseDir = new File(folder);
files = baseDir.listFiles();
Solo obtengo los directorios. También probé:
def files = [];
def processFileClosure = {
println "working on ${it.canonicalPath}: "
files.add (it.canonicalPath);
}
baseDir.eachFileRecurse(FileType.FILES, processFileClosure);
Pero "archivos" no se reconoce en el alcance del cierre.
¿Cómo obtengo la lista?
file
groovy
directory-listing
Yossale
fuente
fuente
/tmp/directory1
Cómo obtener eldirectory1
solo en la salida.
/./path
Las versiones más recientes de Groovy (1.7.2+) ofrecen una extensión JDK para recorrer más fácilmente los archivos de un directorio, por ejemplo:
Consulte también [1] para ver más ejemplos.
[1] http://mrhaki.blogspot.nl/2010/04/groovy-goodness-traversing-directory.html
fuente
Lo siguiente me funciona en Gradle / Groovy para
build.gradle
un proyecto de Android, sin tener que importargroovy.io.FileType
(NOTA: No tiene subdirectorios recurrentes, pero cuando encontré esta solución, ya no me importaba la recursividad, por lo que es posible que a ti tampoco):fuente
fileTree
recurre.FileTree
no incluye directorios (no los trata como archivos).Esto es lo que se me ocurrió para un script de compilación de Gradle:
fuente