首頁 > Java > java教程 > 如何在 Java 中將檔案追加到 ZIP 檔案而不重新建立?

如何在 Java 中將檔案追加到 ZIP 檔案而不重新建立?

DDD
發布: 2024-11-25 15:53:10
原創
754 人瀏覽過

How Can I Append Files to a ZIP Archive in Java Without Re-creation?

在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 檔案的全面功能,包括附加檔案和提取其內容的功能。其他值得注意的函式庫包括:

  • Zip4j:支援檔案追加、加密和壓縮。
  • Apache Commons Compress:流行的函式庫用於處理各種壓縮格式,包括ZIP。
  • jZip: 一個輕量級函式庫,專注於 ZIP 檔案操作的易用性。

以上是如何在 Java 中將檔案追加到 ZIP 檔案而不重新建立?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板