Como copiar um arquivo que fica dentro de um jar?

Olá pessoal!
O problema é o seguinte: Criei 2 jars (o SIEK.jar e o aplicativo.jar) sendo que um está dentro do outro (o aplicativo.jar está dentro do SIEK.jar). Para fazer isso, quando estava criando o SIEK.jar, inseri o aplicativo.jar na pasta src. O SIEK, entre outras funcionalidades deve copiar o aplicativo.jar para a pasta c:\aplicação.
Para fazer isso usei o seguinte comando:

<code>InputStream FArquivoDeEntrada = this.getClass().getClassLoader().getResourceAsStream(“aplicativo.jar”);</code>

No netBeans funciona perfeitamente bem, mas quando eu tento usar o SIEK.jar (que o netBeans cria) ele não consegue encontrar o aplicativo.jar.

É muito estranho isso! Como ele funciona no compilador e como jar não??

Estou usando netBeans 4.0 e Java 1.5.0_01.

valeu!!

Tipow, o Brazip reconhece um arquivo .jar como compacto!!! Basta você abrir com o Brazip e extrair o arquivo!!! :wink:

Flw

Pilantra 8)

Brazip ? o que é isso? Um descompactador? :?
Na verdade eu gostaria apenas que o aplicativo.jar fosse para a pasta correta. Sem precisar descompactar ou coisa assim :wink:

Mas afinal o que acontece?? O arquivo não é copiado? o arquivo está lá mas vc não acha ele??? Dá erro? Explica melhor ae

Então vegetto, o problema é o seguinte.
O SIEK.jar, através de uma classe dele deveria pegar o aplicativo.jar e simplesmente copiar para a pasta c:\aplicativo
Quando eu realizo isso pelo netBeans (clicando em F6) funciona, mas quando clico no jar criado pelo mesmo, ele cria um arquivo dentro da pasta c:\aplicativo, mas não passa o conteudo da pasta e ainda gera um java NullPointerException dizendo que não consegue encontrar o arquivo especificado.
Para dar o caminho do aplicativo.jar estou usando o comando que disse lá em cima. Estou usando ele com a intenção de poder manter o SIEK.jar em qualquer lugar, para que ele pudesse copiar o arquivo sem que fosse necessário o caminho completo.
O problema todo é esse. E acabei arrumando esse que dá nome a esse tópico.
Espero ter explicado bem. Se alguém puder ajudar, muito obrigado mesmo!

Como está o seu manifet do jar que você executa?

Porque, se eu não estiver enganado, você precisa especificar no manifest qual a pasta que está o Aplicativo.jar para que seja encontrado por aquele método: getResourceAsStream

Brazip é um compactador, assim como o WinRar também reconhece arquivos .jar, se você usa Linux o Ark também extrai!!!

JARs sao arquivos ZIP comuns, com uns arquivinhos a mais dentro (manifest.mf, etc e tal). Mais info aqui: http://java.sun.com/docs/books/tutorial/jar/basics/

Então, o manifest quem cria é o netBeans.
Tem como eu customizar essa criação?

[quote=Rodrigo Vieira Pinto]Então, o manifest quem cria é o netBeans.
Tem como eu customizar essa criação?[/quote]

Dentro do netBeans eu não sei, nunca usei essa ferramente…

Mas abra ele no winzip mesmo, pega o arquivo manifest e vê se ele incluiu o classpath do caminho aonde tá o seu jar

Acessa o link que o CV postou, lá provavelmente vai estar explicando como funciona o manifest e pra que serve

[]´s

eu estive olhando o link e pelo que vi tem todas as informações para trabalhar com .jar
De qualquer forma muito obrigado. Valeu mesmo!! :wink: