Java で ZIP ファイルにファイルを追加する
War ファイルを変更する効率的な方法
解凍war ファイルの内容の変更、新しいファイルの追加、再圧縮により、開発中に不要な待ち時間が発生します。ファイルを ZIP アーカイブに直接追加すると、効率が向上します。
Java 7 の Zip ファイル システム
Java 7 では、Zip ファイル システムを通じて強力な機能が導入されています。これにより、再圧縮せずに ZIP アーカイブ内のファイル (JAR ファイルや WAR ファイルを含む) をシームレスに追加および変更できます。
コード例
次の Java コードは、ファイルを追加する方法を示しています。 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"); } }
このコードは、という名前の新しいファイルを作成します。 「test.zip」アーカイブ内の「new.txt」。
TruZip 代替
Zip ファイル システムは効果的なソリューションですが、TruZip のような代替ライブラリを検討する価値があります。 。 TrueZip は、ZIP ファイル操作のための追加機能と最適化を提供します。 Zip File System と TrueZip はどちらも、Java の ZIP アーカイブにファイルを追加するための効率的な方法を提供します。
以上がJava で ZIP アーカイブにファイルを効率的に追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。