Descompactando arquivos Zip Java

Nesse tutorial simples e direto irei demonstrar como descompactar arquivos zipados utilizando Java.

Primeiro precisamos definir os o arquivo de origem e o path de destino.

Origem

Destino

Algoritmo

Abaixo podemos ver o algoritmo que fará a leitura do arquivo de origem e salvando no destino informado.

String origem = "C:\\Zip\\Examplo.zip";
String destino = "C:\\Zip\\";
File file = new File(origem);
ByteArrayInputStream bis = new ByteArrayInputStream(FileUtils.readFileToByteArray(file));
ZipInputStream zipStream = new ZipInputStream(bis);
ZipEntry ze;
byte buff[] = new byte[16384];
int readBytes;

while((ze = zipStream.getNextEntry()) != null) {
    String fileName = destino + ze.getName();
    if(ze.isDirectory()) {
        Files.createDirectories(Paths.get(fileName));
        continue;
    }
    zipStream.readAllBytes();
    FileOutputStream outFile = new FileOutputStream(fileName);
    while((readBytes = zipStream.read(buff)) != -1) {
        outFile.write(buff, 0, readBytes);
    }
    outFile.close();
}

Informações adicionais

Import de dependências utilizadas

import org.apache.commons.io.FileUtils;

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

Dependência externa utilizada:

https://mvnrepository.com/artifact/commons-io/commons-io

Código fonte completo

https://github.com/aluizrech/sorting-and-tree-algorithm-example/tree/master/ZipToByte

Deixe um comentário

O seu endereço de e-mail não será publicado.