概要

エントリで構成されるアーカイブには、フォルダー全体を圧縮するための createEntries メソッドがあります。このようなメソッドはディレクトリ構造を尊重し、すべてのサブフォルダーに対して再帰的に構成します。また、単一のファイル エントリをアーカイブの任意のサブフォルダーに追加することもできます。

既存の ZIP アーカイブにファイルを追加する方法

追加のファイルを含む既存のアーカイブを拡張する必要がある場合があります。一般的なアプローチには、アーカイブを抽出し、抽出されたコンテンツに新しいファイルを追加して、すべてをまとめて再圧縮することが含まれます。ただし、これは、すでに圧縮されたファイルの計算リソースを無駄にするため、最適な解決策ではありません。
Aspose.ZIP は、完全な解凍や再パックを必要とせずに、エントリを ZIP アーカイブに直接追加できるようにすることで、これを実現するためのより効率的な方法を提供します。この機能は ZIP と TAR の両方のアーカイブ形式に適用できるため、Java を使用して圧縮ファイルを操作するための多用途のソリューションになります。

    try (Archive archive = new Archive("existing.zip")) 
    {
        archive.createEntry("one_more.bin", "data.bin");
        archive.save("added.zip");
    }

このコード スニペットは、「one_more.bin」という名前の新しいエントリを、「existing.zip」という名前の既存の ZIP アーカイブに追加します。新しいエントリのデータは、「data.bin」で指定されたソースまたはファイルから取得されます。適切なリソース管理のために、プロセス全体が try-with-resources ブロック内にラップされます。これが行う内容の内訳は次のとおりです:

  • 既存のアーカイブを開く: try-with-resources ブロックを確立し、適切なリソース管理を保証します (ブロック終了後にアーカイブ オブジェクトを自動的に閉じます)。 。ブロック内で、コンストラクター new Archive(“existing.zip”) を使用して Archive オブジェクトを作成します。
  • 新しいエントリの作成: このコードは、アーカイブ オブジェクトで createEntry メソッドを使用します。このメソッドは 2 つの引数を取ります。
    - “one_more.bin” これは、アーカイブ内の新しいエントリに割り当てられる名前を指定します。
    - 「data.bin」 これは、新しく作成されたエントリに追加されるデータのパスまたはソースを含むファイルです。
  • 変更されたアーカイブの保存: 最後に、コードはアーカイブ オブジェクトの save メソッドを呼び出します。このメソッドは、変更されたアーカイブを「added.zip」という名前の新しいファイルに保存します。

TAR 既存のアーカイブにファイルを追加

アーカイブの展開には、多くの場合、抽出、新しいファイルの追加、再圧縮が含まれますが、これはリソースを大量に消費するプロセスです。 Aspose.ZIP は、Java でよりスマートなソリューションを提供します。アーカイブを開いて解凍し、新しいエントリを直接追加するだけで、不必要な再パックを回避できます。この効率的なアプローチは、TAR アーカイブ形式で機能します。

    try (TarArchive archive = new TarArchive("existing.tar")) {
        archive.createEntry("one_more.bin", "data.bin");
        archive.save("added.tar");
    }

このアプリケーションは前のアプリケーションと機能を共有していますが、 TAR 拡張子を持つアーカイブ用に調整されています。

サポートされているその他の Aspose.ZIP for Java API 機能

Java の Aspose.ZIP ライブラリを使用すると、ZIP ファイル ドキュメントに関連するさまざまなタスクをシームレスに処理できます。形式の変換、ファイルの結合、コンテンツの編集、またはデータの抽出が必要な場合でも、Aspose.ZIP はワークフローを合理化し、生産性を向上させるための包括的な機能を提供します。

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: