java库使用Zip文件

时间:2011-03-19 13:29:24

标签: java zip directory

我需要从我的java程序创建一个zip文件。

我需要一个能够创建zip文件并在其中存储文本和文件条目的库,最重要的是我需要能够将整个目录存储在其中(具有多个其他目录级别的目录)每个都有一些文件)。

你能建议我一个吗?

6 个答案:

答案 0 :(得分:21)

查看Zip4j - http://www.lingala.net/zip4j/

我今天遇到了这个问题,我拒绝做JDK希望我们这样做的低级垃圾。希望这个小图书馆能够运作

答案 1 :(得分:9)

用于处理Zip文件(即压缩)的困难部分的库内置于Java SE(java.util.zip):

http://download.oracle.com/javase/1.5.0/docs/api/java/util/zip/package-summary.html

对于更高级别的函数, 难以编写某些函数来递归遍历目录并将文件复制到ZipOutputStream - 可能少于50行代码左右。

http://www.javareference.com/jrexamples/viewexample.jsp?id=108有一个很好的例子 - 单个文件需要一些工作。

答案 2 :(得分:4)

在这些领域,通常需要考虑Apache(或者更具体地说:Apache Commons)。我发现了这个:http://commons.apache.org/compress/zip.html(虽然我没有检查过。)

答案 3 :(得分:4)

您可以查看的另一个选项是 zt-zip ,可从Maven中心和项目页面https://github.com/zeroturnaround/zt-zip

获取

它具有标准的打包和解包功能(在流和文件系统上)+许多辅助方法来测试存档中的文件或添加/删除条目。

答案 4 :(得分:3)

有一个着名的7zip库的Java绑定,您可以在http://sevenzipjbind.sourceforge.net/

查看

答案 5 :(得分:1)

easyzip4j

从github下载。

https://github.com/willwarren/easyzip4j/downloads

<强>用法

EasyZip.zip("./folderToZip", "./myZipFile.zip");

OR

EasyZip.zip("./folderToZip", "./myZipFile.zip", 
    new EasyZipParameters().setZipFolderContentsNotFolder(true));

(也包含在自述文件https://github.com/willwarren/easyzip4j/blob/master/README.md

这是一个以maven为基础的项目 取决于commons-io和log4j。随意编辑!