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.
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…
Bom dia .
Seja bem vindo.
Já chegou a ler algo sobre ZipInputStream ?
Creio que é o que vc precisa, o que já tentou fazer?
Vi sim, tentei fazer já 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();
Neste trecho, penso que seria assim:
while ((read = zipIn.read(bytesIn)) != -1) {
bos.write(bytesIn, 0, read);
}
bos.close();
Mesmo assim o arquivo continua sendo extraído sem conteúdo.
Retorna algum erro.
Repliquei o seu código aqui com a alteração que sugeri antes e funcionou sem problemas.