2011-10-31 4 views
6

Как обычно я прочитал ресурсы из JAR-файла следующим образом:Список ресурсов в папке jar-файла?

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

мне нужно прочитать все ресурсы с определенным именем из известной папки в банке файл. Например. прочитать * .xml из

аддона/ресурсы/тексты

Могу ли я каким-то образом получить из списка файлов JAR ресурсов в соответствии с пути и шаблон имени?

UPDATE: Точное копирование Get a list of resources from classpath directory Пожалуйста, закройте вопрос.

+1

Поместите список в банку, когда он будет построен. Прочитайте этот список во время выполнения. –

+4

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

ответ

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 ... * /' В какой момент код обрабатывает ' SeurityException', потенциально брошенный ['Class.getProtectionDomain()'] (http://download.oracle.com/javase/7/docs/api/java/lang/Class.html#getProtectionDomain%28%29)? –

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