关于Java做多文件打包压缩

Java 自带的 zip、gz 压缩也可以,但好像有点问题。而gz不能用于多文件打包。所以最好使用 Apache Commons Compress 包做文件压缩。

看网上讲,zip、tar 格式,不会保存文件名编码格式,而 7zip、rar 保存。没有文件名编码格式,意味着在不同文件编码格式的系统间,压缩、解压缩,会导致文件名乱码。Apache Commons Compress 和更高版本的 JDK 的 zip 压缩、解压,可以指定文件名编码方式。

对于多文件打包压缩,代码构造:

文件遍历,文件输入流,缓冲区,压缩文件输出流

有一种叫“zip 炸弹”的概念,大概不正确结尾的zip文件,解压缩会无穷大。

曾经在 Android APP 里使用 xz 压缩,但十分缓慢。

原文地址:https://www.cnblogs.com/silvestris/p/14642917.html