Como acesso o conteúdo das pastas dentro de um arquivo jar?
Eu preciso dar uma olhada nos nomes dos arquivos dentro de um pacote específico. Atualmente, estou fazendo o seguinte:
ClassLoader loader = Thread.currentThread().getContextClassLoader();
URL packageUrl = loader.getResource(getPackage().replace('.', '/'));
File packageDir = new File(packageUrl.getFile());
// Work with the files inside the directory
Na verdade, isso funciona muito bem no Eclipse, pois não empacota meu aplicativo por padrão. Quando o executo de um arquivo jar, recebo umaNullPointerException
empackageUrl
.
Então, como obtenho uma lista do conteúdo de um pacote que está dentro de um jar? Minha pesquisa sugeriu o uso degetResourceAsStream
, mas não sei ao certo como explorar um diretório com umInputStream
, se isso for possível.