我有一个大文件夹,我希望在保存在子文件夹层次结构时发送它的压缩版本。
目前我正在创建一个大型zip文件并发送它。
我正在寻找一种方法将文件夹内容写入一些将重定向到套接字输出流的输出流。
我的动机是避免在运行时将大型文件保存在我的机器中
我知道如何为单个文件执行此操作,但不知道如何处理包含许多子文件夹的文件夹并保存内部层次结构...
谢谢!
答案 0 :(得分:0)
由于gzip
没有文件概念 - 只需要压缩的字节 - 你需要像tar
这样的归档格式来组合将一堆文件和目录组合成一个流,然后就可以gzip了。
如果您只想要一些压缩存档格式,JDK的ZipOutputStream将允许您使用zip压缩。
如果您特别需要gzip
格式,那么会有一些implementstions of tar output streams - 使用其中一个并将其传递到JDK' gzip output stream。