Criar pasta com arquivo antes de Zipar [Resolvido]

5 respostas
douglasmanteiga

Boa tarde pessoal preciso de uma ajuda…

A api java.util.zip (ou alguma outra qualquer), tem algum método que me de a possibilidade de criar uma pasta dentro de um arquivo .zip???

Tenho uma classe que faz o Zip de um arquivo local no PC…
Mas o que preciso é que antes de zipar o arquivo local do PC adiciona uma pasta com uma imagem blob que tenho e vá junto com a pasta local
e zipa tudo junto…

5 Respostas

marciobarroso

Acho que o mais correto neste caso seria criar toda a sua estrutura de diretórios antes de criar o arquivo zip. Ai depois de toda a estrutura criada, você gera o zip com todas as pastas necessárias.

douglasmanteiga

Marcio obrigado pela resposta, então cara também pensei nesse caso é a forma ideal para o que eu preciso, mas não consigo achar nenhum exemplo… você teria algum? valeu!

gomesrod

Esse tópico está parecendo duplicado: http://guj.com.br/java/285073-a-partir-de-um-blob-criar-um-pasta-jogar-o-blob-dentro-e-depois-jogar-a-pasta-em-memoria

Se não for o mesmo caso, e você estiver apenas precisando saber como cria a “pasta” no zip, então e fácil:

Ao invés de instanciar o ZipEntry com

= new ZipEntry("nome_do_arquivo.xxx");

Utilize

= new ZipEntry("nome_da_pasta/mais_uma_pasta/nome_do_arquivo.xxx");
douglasmanteiga

gomesrod:
Esse tópico está parecendo duplicado: http://guj.com.br/java/285073-a-partir-de-um-blob-criar-um-pasta-jogar-o-blob-dentro-e-depois-jogar-a-pasta-em-memoria

Se não for o mesmo caso, e você estiver apenas precisando saber como cria a “pasta” no zip, então e fácil:

Ao invés de instanciar o ZipEntry com

= new ZipEntry("nome_do_arquivo.xxx");

Utilize

= new ZipEntry("nome_da_pasta/mais_uma_pasta/nome_do_arquivo.xxx");

Fala Gomes blza? obrigado pela ajuda deu certo de criar uma pasta, mas se eu precisa criar mais pastas na raiz? tem mais alguma outra forma… obrigado…

douglasmanteiga

Aii pessoal consegui graças a ajuda do pessoal ai obrigado… segue abaixo a solução… :smiley:

ZipOutputStream out = null;
                        ZipEntry arquivo1 = new ZipEntry("Pasta1/" + path + files[i].getName());
                        ZipEntry arquivo2 = new ZipEntry("Pasta2/" + path + files[j].getName());
                        ZipEntry arquivo3 = new ZipEntry("Pasta3/" + path + files[k].getName());
                        out.putNextEntry(arquivo1);
                        out.putNextEntry(arquivo2);
                        out.putNextEntry(arquivo3);
Criado 24 de outubro de 2012
Ultima resposta 24 de out. de 2012
Respostas 5
Participantes 3