在Java 中將檔案附加到ZIP 檔案:進階技術
尋求一種在Java 中將檔案附加到ZIP 檔案的有效方法,開發人員向社區尋求指導。該任務涉及透過提取內容、新增檔案和重新建立 WAR 檔案來修改 WAR 檔案。
詢問方最初考慮複製 WAR 檔案並直接附加文件以提高效率。然而,由於 Java 文件或線上資源中缺乏明顯的解決方案,開發人員尋求替代方法。
解決方案:Java 7 的Zip 檔案系統
透過根據社群的智慧,Java 7 引入了一項名為Zip 檔案系統的改變遊戲規則的功能。這項突破允許在 ZIP(JAR、WAR)文件中無縫添加和修改文件,而無需手動重新打包。
透過利用 Zip 檔案系統,開發人員可以直接寫入 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"); } }
在此範例中,建立了一個「new.txt」文件,並在「test.zip」檔案中填入了訊息「hello」。這種優雅而高效的方法為將文件附加到 ZIP 檔案提供了強大的解決方案。
TrueZip:替代庫
為了回應原始查詢者的更新,社區建議研究 TrueZip 作為潛在的解決方案。 TrueZip 是一個強大的 Java 函式庫,專為操作 ZIP 檔案而設計。它提供了一套全面的功能,包括將檔案附加到現有 ZIP 檔案的能力。
討論中提到的其他庫包括:
這些庫為開發人員提供了一系列選項,用於在Java 中執行進階ZIP 檔案操作應用程式。
以上是如何在 Java 中有效率地將檔案附加到 ZIP 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!