2016-05-13 2 views
0

В основном у меня есть папка, в которой у меня есть 4 ZIP-файла. Я хочу получить имена этих zip-файлов в массиве.Получить имена всех файлов/папок в массиве

Требование: У меня есть папка AggregatedComponetLibraries: у меня есть мои lib zips внутри. a.zip, b.zip, c.zip, d.zip. Я хочу, чтобы получить имя из молний insde componentNames массива в Gradle, что означает мой массив должен содержать: а, б, в, г

+0

Конечно, так же, как и в Java – AdamSkywalker

+0

Вы хотите только имя подпапок или оба подфайла/подпапки. Пожалуйста, предоставьте структуру на самом деле, что вы хотите? –

+0

Я использовал этот каталог файлов = новый файл (outputDir) Файл [] fList = directory.listFiles(); fList.each {file1 -> если (file1.isFile()) { files.add (file1) } Println (файлы) } – sver

ответ

1

Вы можете получить его с FileTree так:

def names = [] 
fileTree(dir: 'AggregatedComponetLibraries', include: '**/*.zip').visit { 
    FileVisitDetails details -> 
     names << details.file.name 
} 
task printNames << { 
    println names 
} 

Вот массив names определил, а затем создал экземпляр FileTree, для каталога с именем «AggregatedComponetLibraries» это дерево содержит все файлы с расширением zip. После этого скрипт перемещается по элементам дерева и добавляет имена элементов в массив.

Задача printNames просто для того, чтобы показать результат.

Смежные вопросы