Subdiretórios em arquivo Zip usando ZipOutputStream
Pergunta
Estou criando um arquivo zip usando a técnica descrita aqui:
http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip-files-on-the-fly/
O cliente solicitou a inclusão de subdiretórios neste arquivo zip.Eu pesquisei a documentação ZipOutputStream, mas não vejo como incluir diretórios.Existe uma maneira de fazer isso com ZipOutputStream?Devo usar uma classe diferente de ZipOutputStream?
Além disso, os arquivos que estou compactando não estão no sistema de arquivos local, mas são armazenados em um serviço de nuvem.
Solução
Descobri a resposta, mas pensei em colocá-la aqui para que os mecanismos de pesquisa a encontrem.
De qualquer forma, o link que postei usou
zos.put_next_entry("some-funny-name.jpg")
para adicionar arquivos ao arquivo zip.Acontece que esse parâmetro de string não é apenas um nome de arquivo, pode ser um caminho também!Então, usando
zos.put_next_entry("some-random-folder/some-funny-name.jpg")
Fará com que seu arquivo zip contenha uma pasta chamada 'alguma-pasta-aleatória', com um arquivo chamado 'algum-nome-engraçado.jpg'.