ホームページ > Java > &#&チュートリアル > Java で再作成せずに ZIP アーカイブにファイルを追加するにはどうすればよいですか?

Java で再作成せずに ZIP アーカイブにファイルを追加するにはどうすればよいですか?

DDD
リリース: 2024-11-25 15:53:10
オリジナル
777 人が閲覧しました

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

Java で ZIP にファイルを追加する

war ファイルを抽出、変更、再作成する従来のアプローチに代わる方法を探しています。既存の war ファイルにファイルを直接追加する可能性を検討しています。

ネイティブ 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート