有什么方法可以使用Java动态地在zip文件中创建zip吗?

surendhar_s

我有一堆文件,例如4个文件。我想将2个文件压缩为一个压缩文件,例如“ inner.zip”,其余的压缩为“ outer.zip”的父目录。

在此处输入图片说明

InputStream streamToReadFile=readFile(filePath);
String zipEntryName = folderName + "/" + fileNameToWrite;
ZipEntry anEntry = new ZipEntry(zipEntryName);

// I couldn't able to create zip in a zip file.

streamToWriteInZip.putNextEntry(anEntry);
while ((bytesIn = streamToReadFile.read(readBuffer)) > 0) {
                    streamToWriteInZip.write(readBuffer, 0, bytesIn);
                }
乔普·艾根(Joop Eggen)

内ZipOutputStream应该调用finish(),而不是close()因为finish()会将所有压缩数据,但不会关闭外拉链。要测试close()一个文件的错误性,您需要添加另一个文件,因为内部zip文件是最后一个文件。

    Path sourcePath = Paths.get("C:/D/test.html");
    try (ZipOutputStream zipOut = new ZipOutputStream(
            new FileOutputStream("C:/D/test/test.zip"))) {

        zipOut.putNextEntry(new ZipEntry("file1.txt"));
        Files.copy(sourcePath, zipOut);
        zipOut.closeEntry();

        zipOut.putNextEntry(new ZipEntry("file2.txt"));
        Files.copy(sourcePath, zipOut);
        zipOut.closeEntry();

        zipOut.putNextEntry(new ZipEntry("inner.zip"));
        ZipOutputStream innerZipOut = new ZipOutputStream(zipOut);
        {
            innerZipOut.putNextEntry(new ZipEntry("file3.txt"));
            Files.copy(sourcePath, innerZipOut);
            innerZipOut.closeEntry();

            innerZipOut.putNextEntry(new ZipEntry("file4.txt"));
            Files.copy(sourcePath, innerZipOut);
            innerZipOut.closeEntry();

            innerZipOut.finish(); // Instead of close().
        }
        zipOut.closeEntry();

    } catch (IOException e) {
        e.printStackTrace();
    } // Invoke close().

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以从Java动态地将方法添加到Groovy基本脚本中?

来自分类Dev

除了RTFEditorKit以外,有什么方法可以使用Java读取rtf文件吗?

来自分类Dev

我可以使用PHP从zip存档中的文件中读取原始文件的修改日期吗?

来自分类Dev

有什么方法可以使用python将'\ r'写入Linux上的文件吗?

来自分类Dev

我们可以动态地为元组创建类型别名吗?

来自分类Dev

您可以动态地将匿名方法(函数)转换为命名方法吗?

来自分类Dev

有什么方法可以使用Java中的Thread在JPanel上绘制图形吗?

来自分类Dev

有什么办法可以在Java中创建动态@ServerEndpoint地址吗?

来自分类Dev

是否可以使用枚举动态地获取静态类?

来自分类Dev

有什么方法可以使用指令动态添加ng-model-options吗?

来自分类Dev

有什么方法可以使用Tag Helpers创建循环吗?

来自分类Dev

有什么方法可以使用flutter为tizen os创建应用程序吗?

来自分类Dev

有什么方法可以使用模板组件/页面使用Gatsby创建动态子弹吗?

来自分类Dev

可以使用tf.keras.utils.get_file()加载本地zip文件吗?

来自分类Dev

有没有一种方法可以使标签的字体大小动态地适应在PyQt5中放置在标签中的文本?

来自分类Dev

Python-有什么方法可以使用Openpyxl动态处理Excel文件中的数据

来自分类Dev

有什么方法可以使用nodejs在Godaddy域中创建/更新“ A”类型记录吗?

来自分类Dev

有什么方法可以动态地将对象属性作为单个参数传递?

来自分类Dev

有什么方法可以使用PHP / MySQL动态创建流程图或UML?

来自分类Dev

有聪明的方法可以动态地调用类型相关的扩展方法吗?

来自分类Dev

可以在UNIX中搜索zip文件吗

来自分类Dev

我可以使用PHP从zip归档文件中的文件中读取原始文件的修改日期吗?

来自分类Dev

我们可以不使用选择路由器而动态地调用子流或私有流吗?

来自分类Dev

有什么方法可以使用Java动态地在zip文件中创建zip吗?

来自分类Dev

我可以在Android运行时动态地将Java代码放入Java代码中吗?

来自分类Dev

django中有什么方法可以使用数据库而不创建models.py文件吗?

来自分类Dev

有什么方法可以使用以下命令解密创建的文件?

来自分类Dev

java - 我可以使用Java中每个元素的代码创建动态网格视图吗?

来自分类Dev

有什么方法可以使用查询进行动态格式设置吗?

Related 相关文章

  1. 1

    是否可以从Java动态地将方法添加到Groovy基本脚本中?

  2. 2

    除了RTFEditorKit以外,有什么方法可以使用Java读取rtf文件吗?

  3. 3

    我可以使用PHP从zip存档中的文件中读取原始文件的修改日期吗?

  4. 4

    有什么方法可以使用python将'\ r'写入Linux上的文件吗?

  5. 5

    我们可以动态地为元组创建类型别名吗?

  6. 6

    您可以动态地将匿名方法(函数)转换为命名方法吗?

  7. 7

    有什么方法可以使用Java中的Thread在JPanel上绘制图形吗?

  8. 8

    有什么办法可以在Java中创建动态@ServerEndpoint地址吗?

  9. 9

    是否可以使用枚举动态地获取静态类?

  10. 10

    有什么方法可以使用指令动态添加ng-model-options吗?

  11. 11

    有什么方法可以使用Tag Helpers创建循环吗?

  12. 12

    有什么方法可以使用flutter为tizen os创建应用程序吗?

  13. 13

    有什么方法可以使用模板组件/页面使用Gatsby创建动态子弹吗?

  14. 14

    可以使用tf.keras.utils.get_file()加载本地zip文件吗?

  15. 15

    有没有一种方法可以使标签的字体大小动态地适应在PyQt5中放置在标签中的文本?

  16. 16

    Python-有什么方法可以使用Openpyxl动态处理Excel文件中的数据

  17. 17

    有什么方法可以使用nodejs在Godaddy域中创建/更新“ A”类型记录吗?

  18. 18

    有什么方法可以动态地将对象属性作为单个参数传递?

  19. 19

    有什么方法可以使用PHP / MySQL动态创建流程图或UML?

  20. 20

    有聪明的方法可以动态地调用类型相关的扩展方法吗?

  21. 21

    可以在UNIX中搜索zip文件吗

  22. 22

    我可以使用PHP从zip归档文件中的文件中读取原始文件的修改日期吗?

  23. 23

    我们可以不使用选择路由器而动态地调用子流或私有流吗?

  24. 24

    有什么方法可以使用Java动态地在zip文件中创建zip吗?

  25. 25

    我可以在Android运行时动态地将Java代码放入Java代码中吗?

  26. 26

    django中有什么方法可以使用数据库而不创建models.py文件吗?

  27. 27

    有什么方法可以使用以下命令解密创建的文件?

  28. 28

    java - 我可以使用Java中每个元素的代码创建动态网格视图吗?

  29. 29

    有什么方法可以使用查询进行动态格式设置吗?

热门标签

归档