Extração de arquivo compactado

6 respostas
java
A

Boa tarde,
Preciso pegar um arquivo.zip e remover um único arquivo.txt que esta dentro dele atravéz da linguagem java. Tudo o que tentei ou encontrei não funcionou, alguem pode me dar um exemplo por favor.

6 Respostas

FearX

Você pode extrair o .zip inteiro e tirar o que você precisa. Se você precisa manter o .zip inalterado, faça uma cópia do arquivo. Existem muitos meios de se fazerem! Usando o SO, usando só Java…

marcospaulo.suporte

Bom dia .

Seja bem vindo.

Já chegou a ler algo sobre ZipInputStream ?

Creio que é o que vc precisa, o que já tentou fazer?

A
Vi sim, tentei fazer  de varias formas e não consegui.

Segue código:

String nome = C:\Users\Downloads\nome.txt;

String zip = C:\Users\Downloads\nome.zip;
ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zip));
    ZipEntry entry = zipIn.getNextEntry();

           BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(nome));
           byte[] bytesIn = new byte[4096];
           int read = 0;
           
           while ((read = zipIn.read(bytesIn)) < -1) 
               bos.write(bytesIn, 0, read);
            
           bos.close();

        zipIn.closeEntry();
        entry = zipIn.getNextEntry();
    
    zipIn.close();
T

Neste trecho, penso que seria assim:

while ((read = zipIn.read(bytesIn)) != -1) {
        bos.write(bytesIn, 0, read);
}
bos.close();
A

Mesmo assim o arquivo continua sendo extraído sem conteúdo.

T

Retorna algum erro.
Repliquei o seu código aqui com a alteração que sugeri antes e funcionou sem problemas.

Criado 14 de junho de 2019
Ultima resposta 20 de jun. de 2019
Respostas 6
Participantes 4