使用ZipOutputStream的Zip文件中的子目录

Sco*_*ice 5 ruby zip rubyzip

我正在使用此处描述的技术创建一个zip文件:

http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip-files-on-the-fly/

客户端已要求我在此zip文件中包含子目录.我搜索了ZipOutputStream文档但我看不到包含目录的方法.有没有办法用ZipOutputStream做到这一点?我应该使用与ZipOutputStream不同的类吗?

此外,我正在压缩的文件不在本地文件系统上,而是存储在云服务中.

Sco*_*ice 7

找出答案,我想我会把它放在搜索引擎中找到.

无论如何,我发布的链接使用了

zos.put_next_entry("some-funny-name.jpg")
Run Code Online (Sandbox Code Playgroud)

将文件添加到zip文件.事实证明,该字符串参数不仅仅是一个文件名,它也可以是一个路径!所以使用

zos.put_next_entry("some-random-folder/some-funny-name.jpg")
Run Code Online (Sandbox Code Playgroud)

将使您的zip文件包含一个名为"some-random-folder"的文件夹,其文件名为"some-funny-name.jpg".