IRONSOFTWAREHOME
IRONZIPの使用

How to Unzip File to Directory in C#

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

ファイルの解凍は、特に圧縮アーカイブを扱う際に、ソフトウェア開発で一般的なタスクです。 この記事では、C#IronZIPライブラリを使用してZIPアーカイブからファイルを抽出する方法を探ります。

Windowsアプリケーションや.NETプロジェクトで作業している場合でも、ファイルの解凍プロセスを理解することは非常に価値があります。 それでは、C#のコードベース内でZIPファイルを効率的に処理する方法を学びましょう。

この記事で説明すること:

  1. IronZIPライブラリのインストールプロセス
  2. ZIPアーカイブの抽出方法
  3. パスワード保護されたZIPアーカイブの抽出方法
  4. ZIPファイルの作成方法
  5. パスワード保護されたZIPファイルの作成方法

なぜファイルを解凍するのか?

ZIPファイル、つまりZIPアーカイブは、複数のファイルを単一の圧縮コンテナにまとめたものです。 これらのファイルを解凍することは、圧縮されたデータを抽出し、元の状態に復元することを伴います。 C#アプリケーションでデータにアクセスまたは操作する必要がある場合、このプロセスは不可欠です。 IronZIPは、圧縮データを管理するための簡単なメソッドを提供することで、この作業を効率化します。

IronZIPとは何か?

IronZIPは、.NETアプリケーションでアーカイブを作成読み取り抽出を容易にする強力なC# ZIPアーカイブライブラリです。 ファイルを圧縮したり、既存のアーカイブからデータを抽出したり、ZIPファイルを管理したりする必要がある場合でも、IronZIPはこれらの作業を効率的に達成するためのユーザーフレンドリーなAPIを提供します。 IronZIPは、.NETアプリケーションでのZIPアーカイブの扱いを簡単にします。

それは、ZIP、TAR、GZIP、BZIP2など、さまざまなアーカイブ形式をサポートします。IronZIPはクロスプラットフォームであり、.NET Core、.NET Standard、および.NET Frameworkと互換性があります。 また、それはパスワード保護アーカイブ、カスタマイズ可能な圧縮レベル、ファイルエントリ管理などの高度な機能を提供します。

How to Extract Files to a Directory in C#

今、私はC#でZIPファイルから抽出するためのいくつかの例を紹介します。 Visual Studioで新しいC#プロジェクトを作成することから始めます。 適切なプロジェクトタイプ(例:コンソールアプリケーション、Windowsフォーム、ASP.NET Coreなど)を選択します。 次に、IronZIP NuGetパッケージをインストールする必要があります。

NuGetパッケージマネージャーを通じてIronZIPをインストールする

IronZIP NuGetパッケージをインストールするには、パッケージマネージャーコンソールで次のコマンドを使用できます。

PM > Install-Package IronZip

あるいは、Visual StudioのパッケージマネージャーUIを使用してIronZIPパッケージを検索してインストールすることもできます。

C#コードにおいて、IronZIP名前空間をインポートしてそのクラスとメソッドにアクセスします。

using IronZip;

Code Example to Extract ZIP files in C#

次のコードは、指定されたディレクトリにファイルを解凍します。

// This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");

上記のコードは、指定されたZIPファイル("Extracted Images"という名前のディレクトリに抽出されたファイルを配置します。

説明

IronZipArchiveは、IronZIPライブラリによって提供されるクラスを指します。 それは、C#コードでZIPアーカイブを扱うためのメインのエントリポイントです。 IronZipArchiveクラスが提供するメソッド(または関数)です。 これにより、ZIPアーカイブ(この場合、ファイル"Extracted Images"という名前のディレクトリ)に抽出することができます。

メソッドは2つのパラメータを取ります:

  1. 最初のパラメータ(@"E:\Images.zip")は、抽出したいZIPファイルへのパスです。
  2. 二番目のパラメータ("Extracted Images")は、ZIPアーカイブからファイルを抽出したいディレクトリです。

出力:

C#でファイルをディレクトリに解凍する方法: 図1 - 解凍された画像ディレクトリ内のファイル

パスワード保護されたZIPファイルを抽出する方法

IronZIPは、暗号化されたZIPファイルを抽出するための簡単なメソッドを提供します。 次のコードは、パスワード保護されたZIPファイルからすべてのファイルを抽出する方法を示しています。

// This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");

上記のコードは、IronZIPを使用して"zipP@55w0rd"のパスワードを指定して解読しており、ZIPファイルが暗号化されていて、抽出には指定されたパスワードが必要であることを示しています。 それは既存のファイルを上書きします。

出力:

C#でファイルをディレクトリに解凍する方法: 図2 - 解凍された画像ディレクトリ内のパスワード保護されたファイル

IronZIPを使用したC#では、ファイルをディレクトリに解凍する際に、IronZIPライブラリの機能を最大限に活用します。IronZipArchive.ExtractArchiveToDirectoryのような関数を使うことで、開発者は簡単に圧縮ファイルを抽出でき、ローカルファイルヘッダを取り扱うための簡単なメカニズムを提供します。 それは、アプリケーション内でZIPファイルとRARファイルを効率的に更新する方法を提供します。

IronZIPは、C#および.NETアプリケーションでZIPファイルを作成するためのメソッドも提供します。 C#でZIPアーカイブを作成しましょう。

ZIPアーカイブを作成する方法

次のコード例は、ZIPアーカイブを作成します。

static void Main(string[] args)
{
    // Create a new ZIP archive with a high compression level (9)
    using (var archive = new IronZipArchive(9))
    {
        // Add image files to the archive
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");
        
        // Export the ZIP archive to the file "MyImages.zip"
        archive.SaveAs("MyImages.zip");
    }
}

上記のコードは、IronZIPを使用して新しいZIPアーカイブを作成し(圧縮レベル9)、指定されたファイルパスから複数のエントリを追加し、それぞれが画像ファイル(image4.png)を表していることを示しています。

最後に、"MyImages.zip"としてエクスポートします。 圧縮レベル9は最大の圧縮を意味し、小さいファイルサイズをもたらしますが、処理時間が長くなる可能性があります。

C#でファイルをディレクトリに解凍する方法: 図3 - 前のコードから出力されたZIPアーカイブ

パスワード保護されたZIPアーカイブを作成する方法

次のコードは、パスワード保護されたZIPファイルを作成します。

// Create a new ZIP archive with a high compression level (9)
using (var archive = new IronZipArchive(9))
{
    // Password protect the ZIP archive (Support AES128 & AES256)
    archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);
    
    // Add image files to the archive
    archive.Add(@"E:\Images\image1.png");
    archive.Add(@"E:\Images\image2.png");

    // Export the ZIP archive as "PasswordProtectedImages.zip"
    archive.SaveAs("PasswordProtectedImages.zip");
}

上記のコードは、IronZIPを使用して指定された暗号化方法(この場合はAES256)を使用してパスワード保護されたZIPアーカイブを作成する方法を示しています。 パスワードimage2.png)をアーカイブに追加します。

最後に、"PasswordProtectedImages.zip."としてエクスポートします。 これにより、指定されたパスワードと暗号化メソッドによる内容のセキュリティが保証されます。 IronZIPはAES128、AES256、および従来の方法をサポートします。

結論

要約すると、この記事では、IronZIPライブラリを使用してC#で圧縮ファイルをプログラムで処理するための重要な側面を網羅しました。 インストールプロセスから抽出作成、およびセキュリティのZIPアーカイブの実践的な例まで、開発者は貴重な洞察を得ました。 IronZIPのユーザーフレンドリーなAPI、クロスプラットフォームの互換性、および暗号化方法のサポートにより、さまざまなC#アプリケーションでZIPファイルを効率的に管理するための多用途なソリューションとなります。

既存のファイルを更新したり、パスワード保護されたアーカイブを扱ったりする場合でも、IronZIPはプロセスを効率的に簡略化し、C#プロジェクトで効果的なファイル操作機能を求める開発者にとって強力なツールセットを提供します。

IronZIPは、長期間の使用のための無料試用を含む柔軟なライセンスオプションを提供します。 開発者は、IronZIPをC#アプリケーションに導入する際に、プロジェクトの要件に最適なライセンスモデルを選択し、多用途性と利便性の両方を確保できます。

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。