RAR から ZIP への C#

RAR ファイルを ZIP 形式に変換することは、圧縮アーカイブを扱う際によく必要なことです。ZIP はさまざまなプラットフォームで広くサポートされているため、共有や保存に幅広く使用できます。このブログ記事では、C# を使用して RAR アーカイブを ZIP 形式に変換するソリューションについて説明します。

RAR を ZIP に変換する理由

RAR ファイルを ZIP に変換する理由はいくつかあります。

  • クロスプラットフォームの互換性: ZIP は RAR と比較して、より多くのシステムとプラットフォームでサポートされています。

  • ネイティブ サポート: Windows や macOS などの多くのオペレーティング システムでは、サードパーティ ソフトウェアを必要とせずに ZIP ファイルをネイティブに抽出できます。

  • 圧縮効率: ZIP 圧縮は効率的で、ファイル サイズと速度のバランスが取れています。

それでは、インストール、ステップバイステップガイド、コード例に移りましょう。

RAR から ZIP アーカイブへのコンバーター - C# API 構成

NuGet パッケージ マネージャー コンソールで次のインストール コマンドを使用して Conholdate.Total for .NET をインストールすることにより、圧縮アーカイブ形式をユーザー側で変換できます。

PM> NuGet\Install-Package Conholdate.Total

C# で RAR を ZIP に変換する

これを実現するには、Conholdate.Total for .NET スイートの一部である Aspose.Zip ライブラリを使用します。以下は、RAR ファイルを ZIP ファイルに変換する手順の詳細です。

  • ZIP アーカイブを初期化する: まず、ZIP ファイルを表す新しい Aspose.Zip.Archive オブジェクトを作成します。
  • RAR ファイルを開いて抽出する: Aspose.Zip.Rar.RarArchive を使用して RAR ファイルを読み込み、各エントリを抽出します。RAR アーカイブ内のファイルとディレクトリは個別に処理されます。
  • ZIP アーカイブにエントリを追加: RAR ファイル内の各エントリ (ファイルまたはディレクトリ) を ZIP アーカイブに追加します。ファイルは ZIP エントリとして書き込まれ、ディレクトリは空のエントリとして作成されます。
  • ZIP ファイルを保存する: すべてのエントリを追加したら、ZIP アーカイブを目的の出力場所に保存します。

次のコード スニペットは、C# で RAR を ZIP に変換する方法を示しています。

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.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);
                zip.CreateEntry(rar.Entries[i].Name, ms);
            }
            else
                zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
        }
    }

    zip.Save("output.zip");
}

無料評価ライセンス

無料の一時ライセンスを取得して、この機能や、環境内の圧縮アーカイブ ファイルを操作または変換するための他の多くの機能を試すことができます。

結論

C# で RAR ファイルを ZIP ファイルに変換するには、圧縮ファイル形式の細かい詳細や構造を気にすることなく、いくつかのメソッド呼び出しを行うだけです。この方法に従うと、RAR アーカイブからファイルを簡単に抽出し、ZIP 形式に圧縮できます。これにより、さまざまなプラットフォーム間でのファイルの互換性とアクセス性が高まります。ご質問がある場合は、フォーラム までお寄せください。

よくある質問

変換中にディレクトリ構造は保持されますか?

はい、コードは、ZIP アーカイブにエントリを追加するときに、RAR ファイルのディレクトリ構造を保持します。

ZIP ファイルを抽出するにはサードパーティのソフトウェアが必要ですか?

いいえ、ZIP ファイルは Windows や macOS を含むほとんどのプラットフォームでネイティブに抽出できます。

ZIP ファイルをパスワードで保護できますか?

はい、Aspose.ZIP では、ZIP アーカイブを作成するときに暗号化とパスワード保護が可能です。

参照