Pessoal:
Gostaria de saber se existe alguma forma de eu reconhecer um arquivo qualquer (pode ser um gif por exemplo) dentro de um JAR
tem como??
valeu
Pessoal:
Gostaria de saber se existe alguma forma de eu reconhecer um arquivo qualquer (pode ser um gif por exemplo) dentro de um JAR
tem como??
valeu
Usa o método da classe Class, getResourceAsStream
da uma olhada no java doc.
normalmente voce faz assim
Object.class.getResourceAsStream(“a.gif”);
e ele procura o a.gif que nem um louco, independente de onde esteja, ele até procura dentro de JARs que estão no classpath da virtual machine que está rodando.
valeu pela dica Paulo…
mas isso permite com q eu recupere as imagens q estao dentro do meu .jar, junto com minha aplicacao??
tenho tudo (imagens, classes) dentro de um unico .jar…
permite sim, pode testar aí!
aliás, é altamente recomendável você usar isso ao invés de abrir o jar como um zip.
bom Paulo, deixe-me explicar melhor minha situacao p/ q nao haja duvidas…
minha aplicacao usa algumas figuras q estao no disco…ate ai tudo bem…
consigo fazer algo do tipo, gerar um .jar das classes da minha aplicacao e as imagens tb, e fazer com q ela ainda reconheca essas imagens???
as imagens e as classes estao no mesmo .jar…
a resposta continua sim 
jareia tudo e usa o getResourceAsStream apra pegar um InputStream ao arquivo que voce quer, nao importando se ele esta ou nao dentro do jar, que ele se vira
caro Paulo…
nao consegui usar o metodo q vc me passou…
ele retorna um InputStream…e parei por ai…
como posso implementar meu programa p/ q ele pegue a minha imagem .jpeg, jogue-a em um ImageIcon e coloque esse icone em um label ou algo parecido p/ mostrar na tela??
obrigado
URL url = Object.class.getResource("minhaimagem.gif");
ImageIcon ii = new ImageIcon(url);
algo desse tipo
Voce poderia fazer pelo inputstream, mas teria de criar um array de bytes a mais, duplicando uso de memória.
Cara, pelo codigo que vc passou ao rbarioni na ultima resposta, a url esta vindo nula e estav vindo nullpointerexception quando executa…o que pode ser feito???
valeu
Sempre preciso buscar algum arquivo dentro do jar então criei um método estático que faz isso, :)
public class FileUtis {
public static BufferedReader carregar(String nomeDoArquivo){
InputStream resourceAsStream = FileUtis.class.getResourceAsStream(nomeDoArquivo);
InputStreamReader in = new InputStreamReader(resourceAsStream);
return new BufferedReader(in);
}
}