# alle Dateien eines Ordners innerhalb einer JAR auflisten



## Usul (3. Aug 2008)

Hallo,

ich möchte in einem Java Programm (welches in einer JAR gepackt ist) alle Dateien eines Ordners (der sich auch innerhalb der JAR befindet) auflisten.

Wenn man die Ressourcen kennt geht das ja einfach mit getClass().getResourceAsStream(...) .  Aber das ist bei mir nicht der Fall.


Also Beispiel:
In einer Jar befindet sich die Hauptklasse Main.class. Ausserdem befindet sich ein Ordner "bla" in der Jar. Jetzt soll innerhalb Main.class herausgefunden werden, welche Dateien in "bla" liegen.


Vielen Dank


----------



## FArt (4. Aug 2008)

Nachdem ein JAR ja nur ein ZIP ist, geht das mit der ZIP API.


----------



## Wildcard (4. Aug 2008)

Es gibt kein 'Ordner' in einem Zip, es gibt auch keine Dateien in Zips. Es gibt eine Liste mit Entries. Ein Entry ist ein Pfad gefolgt von Bytes, die den Inhalt darstellen.
Du kannst also nicht wie in einem Verzeichnisbaum zugreifen, sondern kannst zB die Pfade der Entries analysieren.
Natürlich gibt es auch Lösungen wie TrueZip für ein virtuelles Dateisystem, die machen aber auch nicht viel mehr, als das Zip temporär zu entpacken.


----------



## thE_29 (4. Aug 2008)

Also du holst dir mit ZipFile/JarFile die entries!
Dort musst du die Pfade überprüfen.

Und wenn ZipEntry.getName().startsWith("package/packge/bla")
anfängt, dann ist das eine Datei in dem Verzeichnis!


----------



## FArt (4. Aug 2008)

Wildcard hat gesagt.:
			
		

> Natürlich gibt es auch Lösungen wie TrueZip für ein virtuelles Dateisystem, die machen aber auch nicht viel mehr, als das Zip temporär zu entpacken.



Nicht unbedingt. Ein großer Teil der Arbeit geschieht über das virtuelle Filesystem im Speicher, Zugriff über RandomAccessFiles.


----------



## Wildcard (4. Aug 2008)

FArt hat gesagt.:
			
		

> Nicht unbedingt. Ein großer Teil der Arbeit geschieht über das virtuelle Filesystem im Speicher, Zugriff über RandomAccessFiles.


Habe ich geasgt '*auf die Festplatte* entpacken'?  ???:L


----------



## Usul (4. Aug 2008)

Vielen Dank erstmal.  Ich habs noch nicht ausprobiert, hört sich aber stimmig an.


----------

