Java.util.zip ? estrutura de dir

3 respostas
LN2EE

e ae galera,

Ao gerar um .zip com o package java.util.zip, ele fica com a estrutura de dir. do servidor de app, ao ser descompactado.

Existe alguma forma de setar a estrutura de diretorio que o arquivo .zip vai ter ?

Obrigado

3 Respostas

LN2EE

HELP !!! :roll:

T

A estrutura de diretorios eh comanda pelo ZipEntry que voce coloca dentro do ZipOutputStream. Basta no construtor de cada ZipEntry, voce colocar o caminho que voce deseja que seja gerado no zip.
Fragmento de exemplo:

ZipOutputStream zipout = new ZipOutputStream(new FileOutputStream("saida.zip"));
           FileInputStream in = new FileInputStream("c:/diretorio/arquivo.txt");
    
            zipout.putNextEntry(new ZipEntry("arquivo.txt"));
    
            int len;
            while ((len = in.read(buf)) > 0) {
                zipout.write(buf, 0, len);
            }
    
            // Complete the entry
            out.closeEntry();
            in.close();

Gostaria tb de comentar, que apos fazer alguns testes com a classe de zip do java, principalmente para descompactar, descobri que ela tem problemas em manipular arquivos cujo nome tenha acentos. Parece que a classe supoe que os nomes estao no formato UTF-8, o que nem sempre eh verdade. Ferramentas como Winzip e Winrar costumam criar com ISO8859-1 e infelizmente nao parece ter alguma maneira de setar isso na classe de zip. resolvi meu problema usando usando um clone da mesma biblioteca, chamado jazzlib que nao sofre desse problema: http://jazzlib.sourceforge.net/

LN2EE

UFA :shock: ! Valeu Tanque… :lol:

Criado 17 de fevereiro de 2004
Ultima resposta 18 de fev. de 2004
Respostas 3
Participantes 2