概要

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

ZIPアーカイブの作り方

createEntry メソッドは、各ファイルを圧縮アーカイブに追加するために使用されます。これらの例では、圧縮設定を指定していないため、選択した形式のデフォルト設定が適用されます。

    try (Archive archive = new Archive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.zip");
    }

このコードは、「data1.bin」と「data2.bin」の 2 つのファイルを含む「archive.zip」という名前の ZIP アーカイブを作成します。これがどのように機能するかの詳細は次のとおりです。

  • 自動リソース管理: このコードは try-with-resources ブロックを利用して、リソースを適切に管理します。このブロックは、完了時にアーカイブ オブジェクトを自動的に閉じます。
  • アーカイブへのファイルの追加: ブロック内で、コードは createEntry メソッドを 2 回使用してファイルをアーカイブに追加します。
    - 最初のエントリの名前は「first.bin」です。ファイル「data1.bin」の内容が含まれています。
    - 2 番目のエントリは「second.bin」という名前で、ファイル「data2.bin」の内容が含まれています。
  • アーカイブの保存: 最後に、save メソッドが呼び出されます。アーカイブ オブジェクト。指定されたエントリを含む新しく作成された ZIP アーカイブを「archive.zip」に保存します。

7zip アーカイブにファイルを追加する方法

複数の添付ファイルを 1 つの 7zip アーカイブに追加するには、同様の方法で、SevenZipArchive クラスを createEntry および save メソッドとともに使用します。

    try (SevenZipArchive archive = new SevenZipArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 	
        archive.save("archive.7z");
    }

次のコードは、 7-ZIP 形式を除いて、前のコードと同じアクションを実行します。

TAR 作成アーカイブ

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

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.tar");
    }

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

GZファイルの作成方法

エントリのない圧縮のみのフォーマット。 GZIP、LZ、BZIP2、XZ、Z などの圧縮形式は、ファイル エントリをサポートしていません。一度に圧縮できるソース ファイルは 1 つだけです。

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (GzipArchive archive = new GzipArchive()) {
            archive.setSource(source);
            archive.save("archive.gz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

TAR GZ の作成

Aspose.ZIP は、単一の方法を使用してアーカイブ専用形式と圧縮専用形式を組み合わせる便利な方法を提供します。 TAR.GZ を組み合わせたこの機能の例を次に示します。このメソッドは、 saveGzipped メソッドを利用します。

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        archive.saveGzipped("archive.tar.gz");
    }

TARLZの作成

まず、アーカイブするファイルに接続する FileInputStream オブジェクトを作成します。次に、LzipArchive オブジェクトを作成し、ソースを以前に作成した FileInputStream オブジェクトに設定し、アーカイブを保存します。

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (LzipArchive archive = new LzipArchive()) {
            archive.setSource(source);
            archive.save("archive.lz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

TAR BZ2 ファイルの作成

Aspose.ZIP は、LZIP、XZ、ZStandard、および Z 形式でアーカイブを圧縮するための同様の方法を提供します。ただし、BZIP2 では別のアプローチが必要です。

    try (TarArchive tar = new TarArchive()) {
        tar.createEntry("first.bin", "data1.bin");
        tar.createEntry("second.bin", "data2.bin");
        try (Bzip2Archive archive = new Bzip2Archive()) {
            archive.setSource(tar);
            archive.save("archive.tar.bz2");
        }
    }

このコード構造は、TAR と Bzip2 という 2 つの異なるアーカイブ形式の使用を組み合わせています。主な特徴は、TAR アーカイブがまず TarArchive クラスを使用して作成され、createEntry メソッドを使用してそれにいくつかのファイルが追加され、次にこのアーカイブが Bzip2Archive クラス

サポートされているその他の 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: