C# を使用して RAR を CPIO に変換する方法

まず、C# プロジェクトで Aspose.Zip ライブラリを取得して参照する必要があります。通常は、Aspose Web サイトからダウンロードするか、利用可能な場合は NuGet パッケージ を使用します。 パッケージ マネージャーで、Aspose.ZIP を検索してインストールします。パッケージ マネージャー コンソールから次のコマンドを使用することもできます。

Visual Studio パッケージを使用して NuGet パッケージを管理する

パッケージ マネージャー コンソール コマンド:

PM> Install-Package Aspose.Zip

C# 経由で RAR を CPIO に変換する手順

Convertation from RAR to CPIO consist of following steps:

  • Extract archive to intermediate storage
  • Compress extracted data to desired format

システム要求

Before running the conversion example code, make sure that you have the following prerequisites.

  • Microsoft Windows or a compatible OS with .NET Framework, Mono and COM Interop.
  • Development environment like Microsoft Visual Studio.
  • Aspose.Tasks for .NET DLL referenced in your project.

RAR から CPIO に変換するサンプルコード

RAR アーカイブを CPIO 形式に変換するには、異なる特性を持つ 2 つの圧縮形式の間で移行する必要があります。 RAR アーカイブは、強力な圧縮機能があり、広く使用されていることで知られています。これらを Unix 系システムで一般的に使用される CPIO アーカイブに変換する場合、元のファイル構造とデータは変換プロセス中に慎重に保存されます。これにより、コンテンツがアクセス可能かつ無傷のまま維持されるため、Unix 環境内の特定のユースケースに適したものになります。

ただし、CPIO アーカイブは RAR アーカイブと同じレベルの圧縮効率を提供できない可能性があることを考慮することが重要です。したがって、ユーザーは、この変換を実行するかどうかを決定する際に、圧縮の必要性やターゲット システムとの互換性などの要件を比較検討する必要があります。 RAR から CPIO への変換は、データ構造と整合性を維持しながら、RAR アーカイブを特定の Unix ベースのシナリオに適応させる必要があるユーザーにとって有益です。

RAR からさまざまな形式へのコード: 通常、RAR アーカイブには複数のレコードまたはファイルが含まれています。 。このアーカイブを GZ (Gzip)、LZ (Lzip)、Z (Unix Compress)、XZ (XZ Utils)、BZ2 (Bzip2) などの形式に変換する一般的なアプローチは、まずコンテンツを TAR (テープ) にパッケージ化することです。アーカイブ)形式。このプロセスは、Linux 環境での一般的な手法を彷彿とさせます。

この変換プロセスでは、RAR アーカイブ内の各ファイルまたはレコードが最初に 1 つの TAR アーカイブにバンドルされます。この TAR アーカイブは、個々のファイルのコンテナとして機能し、元の構造とメタデータを保存します。データが TAR アーカイブ内にカプセル化されると、さまざまな圧縮アルゴリズムや形式を適用することが容易になります。

TAR が中間フォーマットとして選択されるのは、そのシンプルさと、さまざまな Unix 系オペレーティング システム間での幅広い互換性によるものです。これは、圧縮を直接適用せずにファイルをグループ化する簡単な方法を提供します。 TAR パッケージ化が完了したら、後続の圧縮操作を TAR アーカイブに適用して、GZ、LZ、Z、XZ、BZ2 などの目的の出力形式を生成できます。

RAR から CPIO への変換 - C#:

    using (CpioArchive tarArchive = new CpioArchive())
    {
        using (RarArchive rar = new RarArchive(@"archive.rar"))
        {
            for (int i = 0; i < rar.Entries.Count; i++)
            {                        
                if (!rar.Entries[i].IsDirectory)
                {
                    var ms = new MemoryStream();
                    rar.Entries[i].Extract(ms);
                    ms.Seek(0, SeekOrigin.Begin);
                    tarArchive.CreateEntry(rar.Entries[i].Name, ms);
                }
                else
                    tarArchive.CreateEntry(rar.Entries[i].Name+ "/", Stream.Null);
            }
        }
        tarArchive.Save("output.cpio");
    }



ZIPをTAR.LZに変換する無料アプリ

RAR から CPIO への変換のライブ デモを確認してください。次のような利点があります。


アーカイブを圧縮、抽出、暗号化、復号化、変換、結合できる信頼性の高い Aspose.ZIP ライブラリ。 Aspose.ZIP for .NET API を使用すると、圧縮ファイル形式の根本的な複雑さを考慮することなく、最小限のコーディング作業でさまざまなアーカイブ タイプを操作できます。

その他のサポートされている RAR 変換

RAR を、以下にリストされているいくつかのファイル形式を含む他の多くのファイル形式に変換することもできます。