概要

Aspose.ZIP は、ZIP アーカイブの効率的な圧縮と操作のために設計された多用途 API で、Java アプリケーションを強化します。 Aspose.ZIP は、RAR、7Zip、GZIP、BZ2、および CPIO、TAR、Lzip、Bzip2、XZ、Z などの Linux ベースの形式を含む、他の幅広いアーカイブ形式でも動作します。開発者は、ファイルをシームレスに圧縮および解凍できます。ファイルとフォルダーのアーカイブを作成し、セキュリティを強化するために暗号化を実装します。 Aspose.ZIP を使用すると、ユーザー固有のパスワードを定義し、ZipCrypto や AES (AES128、192、および 256) などの従来の暗号化方式を利用できます。

Java アプリケーションへの圧縮 API の統合

圧縮により Java アプリケーションの効率を最大化します。このセクションでは、Java プロジェクトのパフォーマンスと効率を向上させるために Compression API を統合する秘密を明らかにします。ファイル サイズの最適化からデータ ストレージの改善まで、圧縮をシームレスに実装してアプリケーションに高度な機能を提供する方法を学びます。 Compression API の詳細を理解して、Java 開発エクスペリエンスを向上させます。 Java で com.aspose.zip パッケージを使用してファイルを圧縮および解凍する簡単な例。
com.aspose.zip パッケージを使用した Java でのファイルの圧縮と解凍の簡単な例を見てみましょう。この例は基本的な理解を提供しますが、実際のシナリオではエラー処理と追加のチェックを実装することが不可欠であることに注意してください。

    import com.aspose.zip.GzipArchive;

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;

    public class Program {
        public static void main(String[] args) {
            String sourceFilePath = "example.txt";
            String compressedFilePath = "example.gz";

            try (FileInputStream sourceFileStream = new FileInputStream(sourceFilePath)) {
                try (FileOutputStream compressedFileStream = new FileOutputStream(compressedFilePath)) {
                    try (GzipArchive archive = new GzipArchive()) {
                        archive.setSource(sourceFileStream);
                        archive.save(compressedFileStream);
                    }
                }
            } catch (IOException ex) {
                System.err.println(ex.getMessage());
            }
        }
    }

Java を使用して 1 つ以上のファイルからアーカイブを作成する

Java を使用すると、複数のファイルを含む圧縮アーカイブを作成できます。このプロセスには、出力アーカイブと圧縮されるファイルの両方のファイル ストリームを作成し、その後、それらをアーカイブ オブジェクトに追加して、最終的なアーカイブを保存することが含まれます。

Java 経由で圧縮せずにファイルをアーカイブに追加する方法

Java を使用すると、 圧縮を適用せずにファイルを保存する アーカイブを作成できます(1)。これは、元のファイル サイズを保存したり、個々のファイルへの迅速なアクセスを維持したりすることが重要な場合に役立ちます。このプロセスには、アーカイブの出力ストリームの定義と、含めるファイルの File オブジェクトの作成が含まれます。次に、「StoreCompressionSettings」を使用して圧縮を無効にするように Archive クラスを構成します。最後に、Archive.createEntry メソッドを使用して個々のファイルを追加し、Archive.save を使用して目的の出力ストリームとエンコード設定を使用してアーカイブを保存します 続きを読む

    try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
        File fi1 = new File("alice29.txt");
        File fi2 = new File("asyoulik.txt");
        try (Archive archive = new Archive(new ArchiveEntrySettings(new StoreCompressionSettings()))) {
            archive.createEntry("alice29.txt", fi1);
            archive.createEntry("lcet10.txt", fi2);
            archive.save(zipFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

暗号化と復号化: アーカイブの整合性を保護する

特にアーカイブ内の機密データを扱う場合、セキュリティは最も重要です。このセクションでは、情報に対する堅牢なシールドを提供する、アーカイブの暗号化と復号化の重要な側面に焦点を当てます。アーカイブ全体を保護する必要がある場合でも、特定のエントリを保護する必要がある場合でも、データの整合性と機密性を確保するためのテクニックとベスト プラクティスを学びましょう。

既存のアーカイブにエントリを追加する方法

既存のアーカイブにレコードを追加することは、効率的なアーカイブ管理と関連性の維持のためにファイルを選択的に追加または更新する場合に効果的なアプローチです。この方法により、ディスク領域の節約が容易になり、情報の重複が軽減され、アーカイブ内に重要なデータのみが含まれることが保証されます。ディスク領域の効率は、空き領域が限られているシナリオやクラウド ストレージを利用する場合に特に有利です。ファイルの現在のバージョンのみを保存することは極めて重要な戦略であり、管理の利便性を高め、検索効率を向上させます。このアプローチにより、アーカイブには関連データのみが確実に格納されます。

既存のアーカイブからエントリを削除する方法

既存のアーカイブからの エントリの削除 は、効率的なアーカイブ管理と関連性の維持のためにファイルを選択的に削除または更新する場合に効果的なアプローチです。この方法により、ディスク領域を節約し、情報の重複を回避し、アーカイブに必要なデータのみが含まれるようにすることができます。空きスペースが限られている場合、またはクラウド ストレージを利用している場合、ディスク スペースの効率が特に向上します。ファイルの現在のバージョンのみを保存することで管理の利便性と検索の効率化が可能になるため、レコードの削除は重要な戦略となります。これにより、アーカイブには関連するデータのみが含まれるようになります。この例では、最後のレコードを除くすべてのレコードが削除されます。

    try (Archive archive = new Archive("archive.zip")) {
        while (archive.getEntries().size() > 1)
            archive.deleteEntry(archive.getEntries().get(0));
        archive.save("last_entry.zip");
    }

フォルダーの構造を考慮して圧縮する方法

Java では、アーカイブ内の元のファイル構造を維持しながら、フォルダー全体を圧縮できます。これにより、圧縮データが整理された状態に保たれ、抽出後も簡単に移動できるようになります。

アーカイブ構造を考慮してディレクトリに解凍する方法

ファイルを効果的に圧縮するのと同じように、ファイルを効率的に抽出することが重要です。このセクションでは、元のフォルダー構造を維持しながらアーカイブを解凍する方法について詳しく説明します。ファイルを効率的に抽出し、解凍されたコンテンツを整理して簡単にアクセスできるようにするためのテクニックを紹介します。

並列処理の活用: あらゆるサイズのドキュメントを圧縮

Java では、並列処理を利用することで、大規模なファイルであっても効率的に圧縮できます。この手法では、圧縮タスクを複数のスレッドに分割して、処理時間を大幅に短縮します。 ArchiveSaveOptions クラスを ParallelCompressionMode.Always で構成すると、あらゆるドキュメント サイズでこのパフォーマンス向上を解除でき、ファイルのボリュームに関係なく迅速な圧縮が保証されます。

その他のサポートされている Java 圧縮 API

Aspose.ZIP Java ライブラリを使用して、zip ファイル ドキュメントの変換、マージ、編集、アーカイブからのデータの抽出などを行います。

  

Support and Learning Resources

  
  

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