C#でフォルダーをZIP圧縮する方法

C#でフォルダーをZIP圧縮する方法

この簡単な記事では、C#でフォルダーをZIP圧縮する方法を説明します。フォルダーとその内容のZIPファイルを作成するための詳細な手順とコードサンプルを提供します。このソリューションでは、サードパーティツールをインストールする必要はありません。

フォルダーをZIP圧縮する利点

  1. スペース効率:
    • ファイルを圧縮することでストレージスペースを削減します。
  2. 整理されたファイル管理:
    • 複数のファイルを単一のアーカイブにまとめ、配布や管理を容易にします。
  3. 転送速度の向上:
    • ファイルサイズが小さくなることで、アップロードおよびダウンロード時間が短縮されます。

前提条件: 環境の準備

  1. Visual Studioまたは互換性のある.NET IDEをセットアップします。
  2. NuGetパッケージマネージャーを介してAspose.ZIPライブラリをインストールします。

フォルダーをZIP圧縮するためのステップバイステップガイド

ステップ 1: Aspose.ZIPをインストール

プロジェクトにAspose.ZIPライブラリを追加します。

Install-Package Aspose.ZIP

ステップ 2: FileStreamオブジェクトを作成

出力ZIPファイルのためのFileStreamオブジェクトをインスタンス化します。

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

ステップ 3: ZIPアーカイブオブジェクトを作成

ZIP操作を処理するためにArchiveクラスのインスタンスを作成します。

using (Archive archiveFile = new Archive())
{
    // さらなる処理がここに続きます
}

ステップ 4: アーカイブにエントリを作成

ターゲットディレクトリからすべてのファイルとフォルダーを再帰的に追加します。

archiveFile.CreateEntries("AnimationImages");

ステップ 5: ZIPファイルを保存

エントリが作成されたら、アーカイブをディスクに保存します。

archiveFile.Save(zippedFolder);

フォルダーをZIP圧縮するための完全なコード例

こちらがフォルダーをZIP圧縮する方法を示す完全なC#の例です:

// 出力ZIPファイルのためのファイルストリームオブジェクトを作成
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // ZIPアーカイブファイルクラスオブジェクトを作成
    using (Archive archiveFile = new Archive())
    {
        // すべてのファイルとフォルダーを再帰的に追加
        archiveFile.CreateEntries("AnimationImages");

        // 出力ZIPファイルを保存
        archiveFile.Save(zippedFolder);
    }
}

追加情報

  • 出力ZIPファイルのためのファイルのソースとしてDirectoryInfoクラスオブジェクトを提供することができます。
  • 出力ZIPにルートフォルダーを含めるかどうかを制御するフラグを含めることもできます。

結論

このチュートリアルでは、C#で完全なフォルダーをZIP圧縮するプロセスを案内しました。数行のコードで、フォルダー構造を簡単に管理し、ZIPアーカイブを効率的に作成できます。さらなる機能については、ZIPファイルの抽出やさまざまなタイプのアーカイブの作成に関するチュートリアルを確認してください。

 日本語