Estou tentando obter (não imprimir, isso é fácil) a lista de arquivos em um diretório e seus subdiretórios.
Eu tentei:
def folder = "C:\\DevEnv\\Projects\\Generic";
def baseDir = new File(folder);
files = baseDir.listFiles();
Eu só recebo os diretórios. Eu também tentei:
def files = [];
def processFileClosure = {
println "working on ${it.canonicalPath}: "
files.add (it.canonicalPath);
}
baseDir.eachFileRecurse(FileType.FILES, processFileClosure);
Mas "arquivos" não são reconhecidos no âmbito do fechamento.
Como faço para obter a lista?
file
groovy
directory-listing
Yossale
fonte
fonte
/tmp/directory1
Como obter odirectory1
sozinho na saída.
/./path
As versões mais recentes do Groovy (1.7.2+) oferecem uma extensão JDK para percorrer mais facilmente os arquivos em um diretório, por exemplo:
Veja também [1] para mais exemplos.
[1] http://mrhaki.blogspot.nl/2010/04/groovy-goodness-traversing-directory.html
fonte
O seguinte funciona para mim no Gradle / Groovy para
build.gradle
um projeto Android, sem ter que importargroovy.io.FileType
(NOTA: Não recursiva subdiretórios, mas quando encontrei esta solução, não me importei mais com a recursão, então você também não pode):fonte
fileTree
recursiva.FileTree
não inclui diretórios (não os trata como arquivos).Isso é o que eu criei para um script de compilação do Gradle:
fonte