2016-05-13 16 views
0

Grundsätzlich habe ich einen Ordner in dem ich 4 Zip-Dateien habe. Ich möchte die Namen dieser Zip-Dateien in einem Array abrufen.Nennen Sie die Namen aller Dateien/Ordner in einem Array

Anforderung: Ich habe einen Ordner AggregatedComponetLibraries: Ich habe meine Lib-Zips drin. a.zip, b.zip, c.zip, d.zip. Ich möchte den Namen der Reißverschlüsse insde ein Array componentNames in gradle erhalten, die meine Array bedeutet, sollte folgendes enthalten: a, b, c, d

+0

Sicher, genauso wie Sie das in Java tun würden – AdamSkywalker

+0

Möchten Sie nur den Namen von Unterordnern oder beide subFiles/subFolders .. Bitte stellen Sie eine Struktur tatsächlich, was Sie wollen? –

+0

Ich habe dieses Dateiverzeichnis verwendet = neue Datei (outputDir) Datei [] fList = directory.listFiles(); fList.each {file1 -> if (file1.isFile()) { files.add (file1) } println (Dateien) } – sver

Antwort

1

Sie können es mit FileTree so:

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

Hier Das names Array wurde definiert und anschließend eine FileTree Instanz erstellt. Für das Verzeichnis "AggregatedComponetLibraries" enthält diese Struktur alle Dateien mit der Erweiterung "zip". Danach durchläuft das Skript die Baumelemente und fügt die Elementnamen in das Array ein.

Aufgabe printNames hier ist nur um das Ergebnis zu zeigen.

Verwandte Themen