如何用Java创建ZIP文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Java创建ZIP文件?相关的知识,希望对你有一定的参考价值。

与此jar命令等效的Java是什么:

C:>jar cvf myjar.jar directory

我想以编程方式创建这个jar文件,因为我无法确定jar命令将位于我可以运行外部进程的系统路径上。

编辑:我想要的只是归档(和压缩)一个目录。不必遵循任何java标准。即:标准拉链很好。

答案
// These are the files to include in the ZIP file
    String[] source = new String[]{"source1", "source2"};

    // Create a buffer for reading the files
    byte[] buf = new byte[1024];

    try {
        // Create the ZIP file
        String target = "target.zip";
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));

        // Compress the files
        for (int i=0; i<source.length; i++) {
            FileInputStream in = new FileInputStream(source[i]);

            // Add ZIP entry to output stream.
            out.putNextEntry(new ZipEntry(source[i]));

            // Transfer bytes from the file to the ZIP file
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }

            // Complete the entry
            out.closeEntry();
            in.close();
        }

        // Complete the ZIP file
        out.close();
    } catch (IOException e) {
    }

你也可以使用How to use JarOutputStream to create a JAR file?这个帖子的答案

另一答案

你想要的一切都在java.util.jar包中:

http://java.sun.com/javase/6/docs/api/java/util/jar/package-summary.html

以上是关于如何用Java创建ZIP文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何用java 将文件加密压缩为zip文件.

如何用java读取zip文件名和zip内文件的文件名,在线等

如何用7-zip创建自解压文件,7Z软件如何使用

如何用java导入Excel数据到数据库?

如何用7-zip分割文件

简单测试Demo:如何用Java压缩文件夹和文件