GroupDocs.Metadata を使用した Java の圧縮サイズ取得

モダンなデータ中心のアプリケーションでは、get compressed size java は、RAR アーカイブ内に保存されたファイルのサイズを抽出せずに確認する必要がある場合に頻繁に求められます。バックアップ検証ユーティリティ、デジタル資産管理システム、またはファイル共有ポータルを構築しているかどうかにかかわらず、このメタデータを読み取ることで時間とシステムリソースの両方を節約できます。本ガイドでは、GroupDocs.Metadata for Java を使用して各エントリの圧縮サイズを迅速かつ安全に、最小限のコードで取得する方法を説明します。

クイック回答

  • 必要なライブラリは何ですか? GroupDocs.Metadata for Java
  • 圧縮サイズを取得できますか? はい – 各エントリで rarFile.getCompressedSize() を呼び出します
  • ライセンスは必要ですか? 開発には無料トライアルが使用できますが、本番環境ではフルライセンスが必要です
  • サポートされている Java バージョンは? Java 8+(任意の Maven 互換環境)
  • バッチ処理は可能ですか? もちろん – RAR ファイルが入ったフォルダーをループし、同じコードを再利用します
  • 大きなアーカイブを処理するにはどうすればよいですか? エントリを一つずつ処理し、完了したら metadata オブジェクトを閉じます

「get compressed size java」とは何か、そしてそれが重要な理由は?

Get compressed size java は、RAR コンテナ内に保存されているファイルのサイズを読み取ります。この値は、圧縮後にファイルが占めるスペースを示し、圧縮率の検証、転送時間の見積もり、そして在庫レポートで元のサイズと圧縮サイズの両方を提示することを可能にします。

RAR アーカイブから get compressed size java を取得する方法

GroupDocs.Metadata を使用して RAR アーカイブをロードし、エントリを反復処理し、各ファイルエントリで getCompressedSize() メソッドを呼び出します。このアプローチはアーカイブヘッダーのみを読み取るため、抽出やファイル全体のロードは行われず、数百メガバイト規模のアーカイブでもメモリ使用量を 5 MB 未満に抑えます。

ステップ 1: Metadata オブジェクトの初期化

RAR ファイルへのパスを指定して Metadata インスタンスを作成します。このオブジェクトはメモリ内のアーカイブを表し、内部構造へのアクセスを提供します。

ステップ 2: RAR アーカイブのルートパッケージを取得

metadata.getRootPackage() を呼び出して、すべてのエントリを含むトップレベルのパッケージを取得します。返される ArchivePackage を使用すると、アーカイブ内のファイルやフォルダーを列挙できます。

ステップ 3: エントリ総数を取得

archivePackage.getEntries().size() を使用して、格納されているアイテム数を取得します。数を把握することで、バッチジョブ用の進捗追跡構造を割り当てやすくなります。

ステップ 4: 各ファイルを反復し、プロパティを読み取る

archivePackage.getEntries() をループします。ファイルを表すエントリ(フォルダーではない)ごとに entry.getCompressedSize() を呼び出して、バイト単位の圧縮サイズを取得します。圧縮率計算のために非圧縮サイズが必要な場合は、entry.getOriginalSize() も読み取れます。

トラブルシューティングのヒント

  • rarFilePath が既存の RAR ファイルを指していることを確認してください。
  • アプリケーションがアーカイブに対する読み取り権限を持っていることを確認してください。
  • 「unsupported format」エラーが発生した場合、RAR バージョンが GroupDocs.Metadata と互換性があるか確認してください(RAR 4 と RAR 5 をサポート)。

RAR ファイルに GroupDocs.Metadata を使用する理由

GroupDocs.Metadata は、ファイルを抽出せずにアーカイブヘッダーを読み取る高レベル API を提供し、圧縮サイズ、元のサイズ、タイムスタンプなどのプロパティへの高速アクセスを実現します。RAR 4 と RAR 5 形式に対応し、大容量アーカイブも効率的に処理でき、フォーマット固有の詳細を抽象化するため、開発者はアーカイブタイプ間で統一されたコードを書けます。

一般的なユースケース

  1. Data Management Systems – アーカイブ内容を自動的にカタログ化し、検索可能なインベントリを作成します。
  2. Digital Asset Management – 圧縮サイズなどのアーカイブレベルの詳細でメディアライブラリを強化します。
  3. Backup Verification – 保存された圧縮サイズを期待値と比較し、破損を検出します。
  4. File‑Sharing Platforms – ファイルを完全に抽出せずにアーカイブの概要を表示し、ユーザー体験を向上させます。

パフォーマンス上の考慮点

  • 必要なプロパティだけにアクセス – ファイル名とサイズだけが必要な場合、重いメソッドの呼び出しを避けます。
  • metadata オブジェクトを破棄 – 処理後に metadata.close() を呼び出してネイティブリソースを解放します。
  • バッチ処理 – ループで複数の RAR ファイルを処理し、同じ JVM を再利用して起動オーバーヘッドを削減します。

よくある質問

Q: GroupDocs.Metadata for Java とは何ですか?
A: GroupDocs.Metadata for Java は、RAR、ZIP、7z など 50 以上のファイル形式のメタデータを、ファイルを抽出することなく読み取り、更新、管理できるライブラリです。

Q: フルアクセス用のライセンスはどのように取得しますか?
A: フルアクセス用のライセンスを取得するには、GroupDocs purchase page にアクセスして、一時または永続ライセンスを取得してください。開発用の無料トライアルも利用可能です。

Q: RAR 以外のアーカイブタイプでも GroupDocs.Metadata を使用できますか?
A: はい、同じ API は ZIP、7z、その他多数のアーカイブ形式をサポートしており、すべてのアーカイブメタデータタスクに統一されたコードベースを提供します。

Q: 大容量の RAR ファイルを扱う際の一般的な落とし穴は何ですか?
A: 主な問題はメモリ消費とファイルハンドルの上限です。エントリを一つずつ処理し、Metadata オブジェクトを速やかに閉じることで対策できます。

Q: 問題が発生した場合、どこでサポートを受けられますか?
A: 問題が発生した場合は、GroupDocs free support forum でベンダーのエンジニアとコミュニティから支援を受けられます。

リソース

結論

あなたは、RAR アーカイブから包括的なメタデータを抽出するために GroupDocs.Metadata の使用方法、および各エントリの get compressed size java の取得方法を理解しました。このパターンをプロジェクトに統合することで、データ管理機能を強化し、バックアップ検証を改善し、完全抽出のオーバーヘッドなしにファイル検索体験を豊かにできます。

次のステップ

公式ドキュメントでエントリコメントの更新やチェックサム情報の抽出などの追加機能を調査し、このメタデータ抽出を既存のインデックスパイプラインと組み合わせて、完全に検索可能なアーカイブリポジトリを構築することを検討してください。


最終更新日: 2026-06-22
テスト環境: GroupDocs.Metadata 24.12 for Java
作者: GroupDocs

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/metadata/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-metadata</artifactId>
      <version>24.12</version>
   </dependency>
</dependencies>
import com.groupdocs.metadata.Metadata;

public class MetadataSetup {
    public static void main(String[] args) {
        // Initialize metadata object
        Metadata metadata = new Metadata("path/to/your/document");
        System.out.println("Metadata initialized successfully.");
    }
}
// Specify the path to your input RAR file
String rarFilePath = "YOUR_DOCUMENT_DIRECTORY/input.rar";

// Initialize Metadata object with the specified RAR file path\ nMetadata metadata = new Metadata(rarFilePath);
// Obtain the root package of the RAR archive
RarRootPackage root = metadata.getRootPackageGeneric();
// Retrieve and print the total number of entries in the RAR package
int totalEntries = root.getRarPackage().getTotalEntries();
system.out.println("Total Entries: " + totalEntries);
// Iterate over each file within the RAR archive
for (RarFile rarFile : root.getRarPackage().getFiles()) {
    // Print file name, compressed size, modification date time, and uncompressed size
    System.out.println("File Name: " + rarFile.getName());
    System.out.println("Compressed Size: " + rarFile.getCompressedSize());
    System.out.println("Modification Date Time: " + rarFile.getModificationDateTime());
    System.out.println("Uncompressed Size: " + rarFile.getUncompressedSize());
}

関連チュートリアル