Eu estou fazendo uma aplicação swing q usa imagens e arquivos texto, tudo funciona legal no eclipse e no netBeans, mas quando eu passo pra arquivo .jar o programa não abre pq não consegue carregar as imagens nem os arquivos texto.
Vou colocar o codigo que uso pra fazer o endereço:
String path = “Personagem.txt”;
File f =new File(ClassLoader.getSystemClassLoader().getResource(path).path());
…
quando eu uso esse codigo o programa executa tanto no netBeans quanto no eclipse mas no .jar não funciona, alguém tem como me dizer como deveria ser feito pra funcionar?
[quote=markin1]Esse arquivo “Personagem.txt” está no diretório raiz do seu projeto ou está dentro de um pacote?
Do jeito que está ai, o arquivo deveria estar no mesmo diretório do seu jar, caso contrário… game over :D[/quote]
Na verdade, do jeito que está aí, o seu arquivo deve estar dentro do JAR, no mesmo pacote da classe que está acessando esse arquivo.
Se vc copiar esses arquivos para dentro do pacote onde está sua classe, lá no seu projeto do Netbeans, resolve seu problema.
Porém no netbeans e no eclipse o arquivo eh aberto sem problema, quando executo, mas quando eu gero o .jar ele não axa o arquivo tanto no raiz quanto dentro do mesmo pacote.
Alguém sabe me dizer a melhor maneira de referenciar um arquivo dentro do .jar, mas num pacote diferente da classe que chama ele?
Você não pode usar um FileInputStream ou FileReader para acessar coisas que estão dentro de um JAR. Em vez disso, use getResourceAsStream() e use a InputStream que esse método lhe retorna.