C# による ZIP 変換

ZIP をさまざまなファイル アーカイブ形式に変換

C# を使用して ZIP を変換する方法

C# を使用した ZIP ファイルの変換は、プロセスを簡素化する 強力な API である Aspose.Zip for .NET を使用して容易に行うことができます。このライブラリを使用すると、開発者は ZIP ファイルの抽出や作成、パスワード保護や圧縮レベルのカスタマイズなどのさまざまな操作を実行できます。 Aspose.Zip が提供する関連メソッドを使用すると、開発者は など の多くの一般的なアーカイブ ファイル形式での ZIP ファイル変換を簡単に処理できます。 RARCPIOCABTAR など。

あるアーカイブを別のアーカイブに変換するには、基本的に、最初のアーカイブの解凍と 2 番目のアーカイブの合成を組み合わせます。抽出された暫定データをディスクにフラッシュせずに RAM に保存できます。メモリの消費に注意し、これらのエントリを常駐させるためにどのくらいのメモリを割り当てることができるかを把握してください。

開発者ガイド - アーカイブ変換

提供されているコード スニペットは、C# で RAR アーカイブを ZIP 形式に変換する方法を示しています。 Aspose.Zip ライブラリを利用して、RAR エントリを簡単に抽出し、対応するエントリを ZIP アーカイブ内に作成します。

このサンプルを段階的に確認してみましょう。

  1. ZIP アーカイブのインスタンス化 を圧縮用に準備します。次のステップでエントリを入力していきます。
  2. Rar アーカイブのインスタンス化 を解凍用に準備し、アーカイブへのパスを指定します。
  3. 各エントリを一時ストレージに 抽出 します。
  4. 作成 そのストレージから zip エントリを作成します。エントリがディレクトリを表す場合は、そのパスを使用するだけです。
  5. 保存 指定されたパスにアーカイブを保存します。

RARからZIPに変換

提供されているコード スニペットは、C# で RAR アーカイブを ZIP 形式に変換する方法を示しています。 Aspose.Zip ライブラリを利用して、RAR エントリを簡単に抽出し、対応するエントリを ZIP アーカイブ内に作成します。

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

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

ZIPから7Zに変換

このコード スニペットは、C# を使用した ZIP アーカイブの 7Z 形式への変換を示しています。 SevenZipArchive ライブラリを利用して、スクリプトは ZIP エントリを抽出し、7Z アーカイブに対応するエントリを作成します。

このサンプルを段階的に確認してみましょう。

1. 7z アーカイブをインスタンス化する を圧縮するために準備しました。次のステップでエントリを入力します。
2. ZIP アーカイブをインスタンス化 を準備します。解凍し、アーカイブへのパスを指定します。
3. 抽出 各エントリを一時ストレージに保存します。
4. Compose そのストレージからの 7z エントリ。
5. 保存 指定されたパスにアーカイブを保存します。

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

TAR.GZ ファイルから ZIP に変換します

ここで提供されるコード スニペットは、C# を介した TAR.GZ (GZIP) ファイルの ZIP 形式への変換を示しています。 TarArchive クラスには、圧縮 tarball アーカイブ (特に gzip 圧縮) を操作するための便利なメソッドがあり、スクリプトは TAR.GZ ファイルからエントリを抽出し、ZIP アーカイブ内に対応するエントリを作成します。

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

ドキュメント内の変換関数

Aspose.Zip .NET API は、複雑なアーカイブ変換を処理する堅牢な機能で知られており、最大限の効率と信頼性でさまざまなアーカイブ形式間のシームレスな変換を可能にします。 ZIP ファイルを他の一般的なアーカイブ形式に変換したり、その逆に変換したりできるため、開発者はさまざまなプラットフォームやアプリケーション間でデータの整合性と最適なパフォーマンスを確保できます。この重要な変換機能により、データの転送、保存、共有のプロセスが簡素化され、さまざまなソフトウェア環境とのスムーズな互換性が可能になります。 Aspose.Zip .NET API を活用することで、ユーザーはアーカイブ ファイルを簡単に操作し、目的のアプリケーションとのシームレスな統合を促進できるため、生産性とワークフローの効率が向上します。 ZIP 名前空間には、zip アーカイブおよび共通アーカイブ関連エンティティを表すクラスが含まれています。

.NET ライブラリ用の Aspose.Zip のインストール

MSI インストーラーを使用して Aspose.ZIP を展開した場合は、次の手順に従ってコンポーネントと関連するデモおよびドキュメントを完全に削除します。

  1. [スタート] メニューから [設定]、[コントロール パネル] の順に選択します。
  2. 「プログラムの追加と削除」をクリックします。
  3. Aspose.ZIP を選択します。
  4. [変更と削除] ボタンをクリックして、Aspose.ZIP を削除します。
    C# ライブラリのインストールの詳細については、 Aspose.ZIP ドキュメント を参照してください。

その他のサポートされているアーカイブ ファイル変換

CAB、RAR、TAR、CPIO、TAR.BZ2、TAR.GZ、TAR.LZ、TAR.XZ、TAR.Z ファイルを、以下に挙げるいくつかのファイル形式を含む他の多くのファイル形式に変換することもできます。