在Java 中將文件附加到ZIP
尋求提取、修改和重新創建war 文件的傳統方法的替代方法,您需要探索將文件直接附加到現有war 文件的可能性。
Native Java支援
Java 7 引入了 Zip 檔案系統,它提供了在 ZIP 檔案中新增和修改檔案的功能,而無需手動重新包裝。使用此API,您可以直接寫入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"); } }
此方法繞過了提取和重新壓縮war 檔案的耗時過程,從而產生顯著的結果效率提升。
第三方函式庫
同時Java 的本機支援是有效的,還有提供附加功能的第三方函式庫,例如 TrueZip。 TrueZip 提供了一組用於處理 ZIP 檔案的全面功能,包括附加檔案和提取其內容的功能。其他值得注意的函式庫包括:
以上是如何在 Java 中將檔案追加到 ZIP 檔案而不重新建立?的詳細內容。更多資訊請關注PHP中文網其他相關文章!