Ir para conteúdo

Extraindo arquivos de uma jar


Guest Neo

Posts Recomendados

Olá, hoje estou trazendo este tutorial que ensina como extrair arquivo de um arquivo Jar


*Crie um try catch(IOException)


Primeiro passo


Crie uma instancia de JarFile.


JarFile jarFile = new JarFile(new File("test.jar"));
 

Por parâmetro você deve passar o caminho da jar como visto no código.


Segundo passo



Resgatar o JarEntry:


Para pegar o JarEntry precisaremos da localização dele se ele estiver na raiz da jar basta passar o nome caso contrário deverá passar a localização


Exemplo 1:


JarEntry jarEntry = jarFile.getJarEntry("texto.txt");

Exemplo 2:


JarEntry jarEntry = jarFile.getJarEntry("resources" + File.separator + "texto.txt");
 
 

Terceiro passo:


Extração


Para extrairmos iremos precisar de um local de saída para isso instanciaremos um novo File

File texto = new File("saida" + File.separator + "texto.txt");

Agora para ler a o entry da Jar vamos precisar de um InputStream

InputStream is = jarFile.getInputStream(jarEntry); 

Agora para gravar os dados no nosso arquivo precisaremos de um FileOutputStream

FileOutputStream fos = new FileOutputStream(texto); 

Agora basta gravar o arquivo e fehcar o InputStream, FileOutputStream e a JarFile

while (is.available() > 0) {
    fos.write(is.read());
}

fos.close();
is.close();
jarFile.close();
 

Código final


JarFile jarFile = new JarFile(new File("test.jar"));
			
JarEntry jarEntry = jarFile.getJarEntry("texto.txt");
			
File texto = new File("saida" + File.separator + "texto.txt");
			
InputStream is = jarFile.getInputStream(jarEntry); 
FileOutputStream fos = new FileOutputStream(texto); 
			
while (is.available() > 0) {
    fos.write(is.read());
}

fos.close();
is.close();
jarFile.close();



Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...