在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中文網其他相關文章!