ZIP ファイルを作成する C#

このブログ投稿では、さまざまなシナリオに合わせて C# で ZIP ファイルを作成する方法を説明します。単一のファイル、複数のファイル、さらにはフォルダー全体を圧縮する場合でも、.NET アプリケーション内から ZIP アーカイブをすばやく作成できます。さらに、オンラインで無料で ZIP ファイルを作成する簡単なプロセスについても説明します。

オンラインで無料でZIPファイルを作成

この 無料 ZIP ファイル作成ツール を使用すると、ファイルを 1 つの便利なパッケージに圧縮して整理できます。さらに、システムまたはオンライン リンクからファイルを選択してファイルにアクセスすることもできます。このユーティリティを使用するために、クレジット カードの詳細や電子メールを入力する必要はありません。

ZIP ファイルの作成 - C# API のインストール

ZIP アーカイブを作成して、複数のファイルを 1 つのファイルに圧縮できます。 Releases セクションからアクセスして Conholdate.Total for .NET を構成するか、次の NuGet コマンドを使用してインストールします。

Install-Package Conholdate.Total 

C# でファイルの ZIP を作成する

このセクションでは、ファイルを圧縮するための ZIP アーカイブを作成するさまざまな方法について説明します。ここでは、要件に応じて 1 つのファイルだけでなく複数のファイルを 1 つの ZIP ディレクトリに圧縮する方法について説明します。

C# で単一ファイルの ZIP ファイルを作成する

C# を使用して単一ファイルの ZIP ファイルを作成する手順を段階的に学習します。次の手順とコード スニペットは、プロセスをガイドし、ファイルを圧縮アーカイブに効率的にパッケージ化する方法を説明します。

  • FileStream クラスのインスタンスを作成し、出力 ZIP ファイルの名前を指定します。
  • アーカイブに追加するファイルを指定します。
  • Archive クラスのインスタンスを初期化します。
  • 出力 ZIP アーカイブを作成します。

次のコード スニペットは、C# で単一ファイルの ZIP アーカイブを作成する方法を示しています。

using (FileStream zipFile = File.Open(dataDir + "CompressSingleFile_out.zip", FileMode.Create))
{
    //アーカイブに追加するファイル
    using (FileStream source1 = File.Open(dataDir + "test.txt", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new Archive(new ArchiveEntrySettings()))
        {
            archive.CreateEntry("test.txt", source1);

            archive.Save(zipFile);
        }
    }
}

C# で複数のファイルの ZIP アーカイブを作成する

次の手順は、C# で複数のファイル用の ZIP ディレクトリを作成する方法を示しています。

  • zip 圧縮するソース ファイルと出力ファイルの名前を指定します。
  • CreateEntry メソッドを使用して、ターゲット ファイルのエントリを作成します。
  • 複数のファイルを含む出力 ZIP ファイルを保存します。

以下のサンプル コードは、C# で複数のファイルの ZIP アーカイブを作成する方法を示しています。

using (FileStream zipFile = File.Open(dataDir + "CompressMultipleFiles_out.zip", FileMode.Create))
{
    using (FileStream source1 = File.Open(dataDir + "test.txt", FileMode.Open, FileAccess.Read))
    {
        using (FileStream source2 = File.Open(dataDir + "test2.txt", FileMode.Open, FileAccess.Read))
        {
            using (var archive = new Archive())
            {
                archive.CreateEntry("test.txt", source1);
                archive.CreateEntry("test1.txt", source2);
                archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "There are two poems from Canterbury corpus" });
            }
        }
    }
}

C#でフォルダーのZIPを作成する

場合によっては、フォルダー内のすべてのファイルを含むフォルダー全体を ZIP ファイルにパッケージ化する必要があります。以下の手順は、C# でフォルダーの ZIP ファイルを作成する方法をまとめたものです。

  • FileStream クラス オブジェクトを作成し、出力 ZIP ファイル名を指定します。
  • Archiveクラスのオブジェクトを作成します。
  • フォルダーへのパスを設定します。
  • 出力 ZIP アーカイブを作成してエクスポートします。

次のコード サンプルは、C# でフォルダーの ZIP アーカイブを作成する方法を示しています。

using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Create))
{
    using (Archive archive = new Archive())
    {
        DirectoryInfo corpus = new DirectoryInfo(dataDir + "zipfolder");
        archive.CreateEntries(corpus);
        archive.Save(zipFile);
    }
}

無料の評価ライセンスを取得する

API を制限なく最大限に評価するには、無料の一時ライセンス をリクエストできます。

Conholdate.Total for .NET - 学習リソース

API が提供する機能をさらに詳しく調べるには、次のリソースを参照してください。

まとめ

C# で ZIP ファイルを作成すると、効率的なデータ管理と共有の可能性が広がります。このブログ投稿で共有されている詳細を学習すると、アプリケーションにファイル圧縮機能を簡単に追加できます。スペースを節約し、データを簡単に送信し、ワークフローを合理化することができます。ご不明な点がございましたら、無料サポート フォーラムまでお気軽にお問い合わせください。

関連項目