Pois é galera…Vi que existe uma penca de tópicos a respeito deste assunto aqui no GUJ, todavia em nenhum deles encontrei soluções para o problema…
No meu projeto, preciso ler um dentro do meu jar…Fiz isso através do seguinte código:
URL arquivoDeBibliotecas =((this.getClass()).getClassLoader().getResource("lista_libs_windows"));
BufferedReader leitor;
if (arquivoDeBibliotecas.getProtocol().equals("jar"))
{
InputStream input = ((this.getClass()).getResourceAsStream(arquivoDeBibliotecas.getFile()));
JOptionPane.showMessageDialog(null, "É Jar :"+input+"");
leitor = new BufferedReader(new InputStreamReader(input));
}
else
{
File arquivo = new File(arquivoDeBibliotecas.getFile());
FileReader fr = new FileReader(arquivo);
leitor = new BufferedReader(fr);
}
ArrayList<String> lista = new ArrayList();
while(leitor.ready())
{
lista.add(leitor.readLine());
}
Este código teria como objetivo ler o arquivo e colocar cada uma das suas linhas em um ArrayList…Esse monte de if e else, na minha cabeça, descobriria se estou acessando o arquivo de dentro do jar ou não…Para cada caso, um tratamento diferente…Aparentemente está certo.
Estou usando o NetBeans. No meu projeto já tentei colocar esses arquivos direto na raiz e nada. Outro detalhe, meu software é uma applet…