2011-10-31 17 views
6

Como por lo general leí recursos del archivo jar de la siguiente manera:Lista de recursos en una carpeta de archivo jar?

getClassLoader().getResource(pTextPath + "/" + pLang +".xml"); 

tengo que leer todos los recursos con cierto nombre de la carpeta conocida en archivo jar. P.ej. leer * .xml de

addon/recursos/textos

Podría de alguna manera obtener de la lista de archivos jar de los recursos de acuerdo con la ruta y el nombre de la plantilla?

ACTUALIZACIÓN: Duplicación exacta de Get a list of resources from classpath directory Por favor, cierre la pregunta.

+1

Ponga una lista en el tarro cuando esté construido. Lea esa lista en tiempo de ejecución. –

+4

http://stackoverflow.com/questions/3923129/get-a-list-of-resources-from-classpath-directory –

Respuesta

4
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); 
if (src != null) { 
    URL jar = src.getLocation(); 
ZipInputStream zip = new ZipInputStream(jar.openStream()); 
/* Now examine the ZIP file entries to find those you care about. */ 
... 
} 
else { 
    /* Fail... */ 
} 
+1

'else {/ * Fail ... * /' ¿En qué punto se maneja el código ' SeurityException' potencialmente lanzado por ['Class.getProtectionDomain()'] (http://download.oracle.com/javase/7/docs/api/java/lang/Class.html#getProtectionDomain%28%29)? –

Cuestiones relacionadas