动态gzip文件夹及其子文件夹



我有一个大文件夹,我想在保存子文件夹层次结构的同时发送它的压缩版本。

目前我正在创建一个大的zip文件并发送它。

我正在寻找一种将文件夹内容写入某个输出流的方法,该输出流将重定向到套接字输出流。

我的动机是避免在运行时时在我的机器中保留大文件

我知道如何对单个文件执行此操作,但不知道如何处理包含多个子文件夹的文件夹并保存内部层次结构。。。

谢谢!

您想要的有点不清楚,因为gzip没有文件的概念——只有要压缩的字节——您需要像tar这样的归档格式来将一堆文件和目录组合成一个流,然后您可以对其进行gzip。

如果您只想要一些压缩的归档格式,JDK的ZipOutputStream将允许您使用zip压缩。

如果您特别需要gzip格式,那么有很多tar输出流的实现——使用其中一种,并将其通过管道传输到JDK的gzip输出流中。

最新更新