首页  >  文章  >  Java  >  如何使用 TrueZip 或 Java 7 的 Zip 文件系统将文件附加到 Java 中的现有 Zip 存档?

如何使用 TrueZip 或 Java 7 的 Zip 文件系统将文件附加到 Java 中的现有 Zip 存档?

Susan Sarandon
Susan Sarandon原创
2024-11-25 08:33:14959浏览

How Can I Append Files to Existing Zip Archives in Java Using TrueZip or Java 7's Zip File System?

在 Java 中附加到 Zip 文件:TrueZip 和 Java 7

在提取、修改和重新打包 WAR 文件的上下文中,这是常见的考虑通过将文件直接附加到现有 WAR 存档来提高效率。虽然 Java 文档缺乏执行此任务的显式方法,但有可用的解决方案。

TrueZip 库

一种选择是利用 TrueZip 库,如更新中的建议询问。 TrueZip 提供了用于操作和附加 Zip 档案的特定功能。使用 TrueZip,可以有选择地添加、更新和删除目标 Zip 文件中的文件。

Java 7 的 Zip 文件系统

此外,Java 7 引入了 Zip 文件系统,允许修改 Zip 档案而无需重新打包。借助 Zip 文件系统,您可以使用标准 Java I/O 操作直接写入或修改 Zip 存档中的文件。例如:

Map<String, String> env = new HashMap<>();
env.put("create", "true");
Path path = Paths.get("test.zip");
URI uri = URI.create("jar:" + path.toUri());
try (FileSystem fs = FileSystems.newFileSystem(uri, env)) {
    Path nf = fs.getPath("new.txt");
    try (Writer writer = Files.newBufferedWriter(nf, StandardCharsets.UTF_8, StandardOpenOption.CREATE)) {
        writer.write("hello");
    }
}

通过使用 Zip 文件系统,您可以像常规文件系统一样与 Zip 存档进行交互,从而实现高效的文件添加和修改。

以上是如何使用 TrueZip 或 Java 7 的 Zip 文件系统将文件附加到 Java 中的现有 Zip 存档?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn