C#でZIPファイルを作成、読み取り、抽出する方法

C# チュートリアル: ZIP ファイルの作成、読み取り、抽出

This article was translated from English: Does it need improvement?
Translated
View the article in English

ZIPの作成は、ファイルやディレクトリを選択し、圧縮設定を指定してアーカイブを作成します。

ZIPの抽出は、元のZIPファイル、対象フォルダを指定し、ファイルやディレクトリを指定された場所に抽出します。

これらの機能に加えて、IronZipは既存のZIPファイルを開き、さらにファイルを追加し、すべてのファイルを含む新しいZIPファイルとして結果をエクスポートできます。

クイックスタート: IronZIPでZIPを簡単に作成または抽出

数回の簡単なAPI呼び出しで、IronZIPを使用してZIPアーカイブを作成、修正、または抽出して、すぐに始めましょう。 ボイラープレートなしでアーカイブをすぐに操作したい開発者に最適です。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronZIP をインストールします

    PM > Install-Package IronZip

  2. このコード スニペットをコピーして実行します。

    IronZipArchive.ExtractArchiveToDirectory("project.zip", "outputFolder");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronZIP を使い始めましょう
    arrow pointer

アーカイブの作成例

To create a ZIP archive object, you can conveniently use the using statement in C# along with the IronZipArchive constructor. IronZipはこのプロセスをシンプルにし、数行のコードで空のZIPアーカイブを作成できます。

次に、Addメソッドを利用して、ZIPアーカイブにファイルをインポートします。このメソッドでは、さまざまな場所からのファイルを追加でき、ディレクトリ全体のすべてのファイルも含めることができます。

最後に、SaveAsメソッドを使ってZIPファイルをエクスポートします。

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-create.cs
using IronZip;

// Create an empty ZIP
using (var archive = new IronZipArchive())
{
    // Add files to the ZIP
    archive.Add("./assets/image1.png");
    archive.Add("./assets/image2.png");

    // Export the ZIP file
    archive.SaveAs("output.zip");
}
$vbLabelText   $csharpLabel

アーカイブのフォルダへの展開

ZIPファイルからコンテンツを取得するには、ExtractArchiveToDirectoryメソッドを使用できます。 ターゲットZIPファイルのパスと、抽出したファイルを配置したいディレクトリを指定するだけです。

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-extract.cs
using IronZip;

// Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
$vbLabelText   $csharpLabel

既存のアーカイブにファイルを追加する

IronZipを使って、既存のZIPアーカイブに追加のファイルを効率的に追加することができます。プロセスは、既存のZIPファイルパスからZIPアーカイブオブジェクトのインスタンスを作成することから始まります。 アーカイブが開かれたら、Addメソッドを使って既存のアーカイブにファイルを追加することができます。

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-add-files.cs
using IronZip;

// Open existing ZIP
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
    // Add files
    archive.Add("./assets/image3.png");
    archive.Add("./assets/image4.png");

    // Export the ZIP file
    archive.SaveAs("result.zip");
}
$vbLabelText   $csharpLabel

この機能により、プロジェクトの進化するニーズに合わせてZIPアーカイブを効率的に更新および拡張することができます。 IronZipはC#プロジェクトでのアーカイブ管理プロセスを簡単にします。

同様のアプローチで、IronTarArchiveIronGZipArchive、およびIronBZip2Archiveクラスを使用して、TAR、GZIP、およびBZIP2などの他のアーカイブおよび圧縮形式にも対応できます。

よくある質問

C#でZIPアーカイブを作成するにはどうすればいいですか?

C# で ZIP アーカイブを作成するには、IronZip の IronZipArchive クラスをインスタンス化します。Add メソッドを使用してファイルやディレクトリをアーカイブに追加し、SaveAs メソッドでアーカイブを保存します。例: using (var zip = new IronZipArchive()) { zip.Add(@"C:\path\to\directory"); zip.SaveAs(@"C:\path\to\output.zip"); }

C# で ZIP ファイルの内容を読み取り、抽出するにはどうすればよいですか?

IronZipArchive クラスを使用して ZIP ファイルを開くことでの内容を読み取り、抽出することができます。抽出したファイルの保存先ディレクトリを指定するには ExtractArchiveToDirectory メソッドを使用します。例: using (var zip = new IronZipArchive(@"C:\path\to\archive.zip")) { zip.ExtractArchiveToDirectory(@"C:\path\to\output\directory"); }

C# で既存の ZIP アーカイブにファイルを追加することはできますか?

はい、C# で既存の ZIP アーカイブにファイルを追加できます。IronZipArchive クラスを使用して既存の ZIP を開き、Add 方法を使用して追加ファイルを含め、その後 SaveAs 方法で更新されたアーカイブを保存します。

C# で ZIP 管理に使用できるライブラリは何ですか?

IronZip は、ZIP ファイルを管理するために NuGet で利用可能な包括的なライブラリです。IronZipArchive などのクラスを使用して ZIP ファイルを効率的に作成、読み取り、抽出することができます。

C# で TAR や GZIP などの他の圧縮フォーマットを処理するにはどうすれば良いですか?

ZIP ファイルの他にも、IronZip を使用して他の圧縮フォーマットを管理することができます。TAR、GZIP、および BZIP2 について、それぞれ IronTarArchiveIronGZipArchive、および IronBZip2Archive クラスを用いてこれらのフォーマットを同様に処理します。

C# で ZIP ファイルの操作を始めるにはどうすればよいですか?

まず NuGet から IronZip ライブラリをダウンロードします。IronZipArchive クラスをインスタンス化して ZIP ファイルを作成または開き、AddExtractArchiveToDirectory などの方法を使用してアーカイブを管理します。

C# で ZIP アーカイブから特定のファイルを抽出することができますか?

はい、C# で ZIP アーカイブから特定のファイルを抽出することができます。IronZipArchive を使用して ZIP ファイルを開き、ライブラリ提供のメソッドを使用して取り出したいファイルにアクセスします。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 17,732 | バージョン: 2025.12 リリース