首頁 >Java >java教程 >如何在 Java 中有效率地將檔案附加到 ZIP 檔案?

如何在 Java 中有效率地將檔案附加到 ZIP 檔案?

Susan Sarandon
Susan Sarandon原創
2024-11-27 22:42:12211瀏覽

How Can I Efficiently Append Files to a ZIP Archive in Java?

在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 檔案的能力。

討論中提到的其他庫包括:

  • Apache Commons 壓縮
  • Zip4j

這些庫為開發人員提供了一系列選項,用於在Java 中執行進階ZIP 檔案操作應用程式。

以上是如何在 Java 中有效率地將檔案附加到 ZIP 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn