当前位置: 首页 > 知识库问答 >
问题:

无法使用zip4j在java中创建zip文件

邢曦
2023-03-14

我正在使用java创建一个zip文件,但我无法得到任何代码工作。我尝试了很多特定于Java7和Java8的方法,但所有的方法都显示出某种错误,是我的代码中有错误还是需要改进?

            File destination = null;
            JFileChooser chooser1 = new JFileChooser();
            chooser1.setDialogTitle("Select a directory with APK file contents");
            chooser1.setCurrentDirectory(new java.io.File("."));
            chooser1.setAcceptAllFileFilterUsed(false);
            chooser1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            int returnVal = chooser1.showOpenDialog(getParent());
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                destination = chooser1.getSelectedFile();
                JFileChooser chooser2 = new JFileChooser();
                FileNameExtensionFilter filter = new FileNameExtensionFilter("APK Files", "apk");
                chooser2.setFileFilter(filter);
                chooser2.setDialogTitle("Save APK as");
                int userSelection = chooser2.showSaveDialog(parentFrame);
                if (userSelection == JFileChooser.APPROVE_OPTION) {
                    File apksavedestination = chooser2.getSelectedFile();
                    String apkname = chooser2.getSelectedFile().getName() + ".apk";
                    String zipFile = apksavedestination + apkname;
                    String zipfileSource = destination.getAbsolutePath();

                    try {
                        ZipFile zipFileAtLast = new ZipFile(zipFile);
                        ArrayList<File> inFolder = new ArrayList<File>();
                        inFolder.add(new File(destination.getAbsolutePath()));
                        ZipParameters parameters = new ZipParameters();
                        parameters.setIncludeRootFolder(false);
                        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
                        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
                        zipFileAtLast.addFolder(inFolder, parameters);
                    } catch (ZipException e1) {
                        e1.printStackTrace();
                    }

在这一行出现错误zipfileatlast.addfolder(inFolder,parameters);

请指导我:)

运行时出错:

共有1个答案

傅志诚
2023-03-14

希望这些链接有帮助

如何在Java中创建zip文件

https://www.cis.upenn.edu/~bcpierce/courses/629/jdkdocs/api/java.util.zip.zipfile.html

如何在特定文件夹中添加文件(在ZIP中)

http://www.programcreek.com/java-api-examples/index.php?class=net.lingala.zip4j.core.zipfile&method=addfolder

 类似资料:
  • 我尝试了多种方法来创建这个zip文件在Java /Groovy.我尝试的前几个方法,来自各种博客/帖子,导致无法打开损坏的zip文件。所以,我尝试了这个(下图),看起来相当有希望。系统报告传递到FileInputStream的有效文件路径。我不确定是否是FQ路径被传递到ZipOutputStream导致了这个问题。不管怎样,下面是代码,它导致创建小(188kb)zip文件(没有条目)。有什么建议吗

  • 我试图使用在Java()压缩文件,但不能解压文件后创建它。我使用下面的代码: 当我读取一个文件,并将其作为InputStream输入到此方法时,它会创建一个文件。 但是,当我尝试使用命令打开这个zip文件时,它无法打开,错误如下: 我尝试使用,它起作用并显示包含文本文件。这是因为命令不会在zip文件中查找中心目录签名的

  • 问题内容: 我想创建受密码保护的ZIP: 但这只是加密zip中的文件,但我可以打开此zip并查看其中的文件 问题答案: 由于专利问题,Zip4j不支持文件列表的加密。 参见:http : //www.lingala.net/zip4j/forum/index.php?topic=104.0 更新: 如链接中所述。zip规范不包括文件列表的加密。要隐藏文件名,您可以创建一个zip文件,其中包含您的文

  • 本文向大家介绍Java中创建ZIP文件的方法,包括了Java中创建ZIP文件的方法的使用技巧和注意事项,需要的朋友参考一下 java创建zip文件的代码如下如下: 补充:下面看下JAVA中创建ZIP文件,并向ZIP文件中写入并读取条目和数据 总结 以上所述是小编给大家介绍的Java中创建ZIP文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐

  • 我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总

  • 我有一个来自不同位置的文件列表。我使用以下代码创建了一个zip文件,该代码可以正常工作。但是,当我尝试在Windows中使用Extract All解压文件时,无法找到任何字节,但是如果我使用Windows资源管理器双击zip文件本身,我可以看到文件,并且可以打开单个文件并包含正确的数据