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
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
HELP !!! :roll:
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/
UFA :shock: ! Valeu Tanque… :lol: