IRONSOFTWAREHOME
IRONZIPの使用

How to Open Zip File in C#

Curtis Chau
Curtis Chau
Updated: 2026年5月8日

ZIPは、可逆圧縮をサポートするアーカイブファイルシステムフォーマットです。 ZIPファイルには、圧縮された1つ以上のファイルやディレクトリが含まれる場合があります。 ZIPファイル形式では複数の圧縮アルゴリズムが許可されていますが、DEFLATEが最も一般的です。 ZIP形式は、多くのソフトウェアユーティリティで迅速にサポートされました。 主要なOSプロバイダーは、長い間ZIPアーカイブのサポートを提供しています。マイクロソフトはWindows 98以降、ZIPファイルのサポートを含めました。

このブログでは、IronZIPを使用してZIPアーカイブファイルや抽出されたファイルを開くための、現代的で簡単かつ効率的な方法を探ります。 一般的なZIPファイルとその利点について学びます。 その後、ZIPファイル形式を操作するためのシステムネームスペース内で利用可能なオプションを確認します。 次に、ZIPファイルを開き、ZIPファイルを一時フォルダに解凍し、新しいZIPファイルを作成し、既存のZIPファイルにファイルを追加するステップバイステップの手順を探ります。

ソフトウェアアプリケーションでZIPファイルを使用する利点

  1. 圧縮: Implode、Deflate、Deflate64、bzip2、LZMA、WavPack、PPMdなどのさまざまな圧縮アルゴリズムを使用して、アーカイブされたファイル/フォルダのサイズを縮小します。
  2. 転送時間の短縮: ファイルサイズが小さいと、特にインターネットを介してファイルを送信する際に転送時間が速くなります。 これは、メールの添付ファイルやウェブサイトからのファイルのアップロードやダウンロードに特に有利です。
  3. ファイルの統合: ZIPファイルを使用すると、複数のファイルを1つのアーカイブに統合でき、管理するファイルの数を減らすことができます。 これは、複数のファイルから成るソフトウェアを整理したり配布したりするのに便利です。
  4. パスワード保護: 多くのZIPユーティリティは、アーカイブをパスワードで保護するオプションを提供し、ファイルへのセキュリティレイヤーを追加します。 これはZIPファイルの内容へのアクセスを制限したい場合に便利です。

IronZIPを使用してZIPアーカイブを作成し、ZIPファイルを抽出する

IronZIPライブラリとドキュメントの紹介はこちらで見つけることができます。 C#アプリケーションでは、ZIPファイルをさまざまな方法で作成および抽出できます。 IronZIP NuGetパッケージには、ZIP、TAR、GZIPなどの形式でファイルをアーカイブする機能が含まれています。IronZIPを使って次世代アプリを構築し、ZIPファイルを開いたり、抽出したり、新しいZIPファイルを作成する手順を使用します。

ステップ1. .NET Coreコンソールアプリケーションの作成

プロジェクトを作成する

Visual Studioを使用して.NETコンソールアプリを作成できます。 Visual Studioを開いて、プロジェクトの作成を選択してください。 ここでは、プロジェクトを作成するさまざまなテンプレートを見ることができます。 コードをデモまたはテストする最も簡単な方法は、コンソールアプリケーションを作成することです。 コンソールアプリプロジェクトテンプレートを選択します。

C# で ZIP ファイルを開く方法: 図 1 - 新しいプロジェクト

プロジェクト名を入力する

以下のウィンドウで、プロジェクト名、ファイルシステムに保存するプロジェクトの場所、最後にソリューションフォルダーへのパスを入力できます。 ソリューションとプロジェクトフォルダーを同じにするか、異なるフォルダーにすることができます。

C# で ZIP ファイルを開く方法: 図 2 - プロジェクトの設定

.NETフレームワークのバージョンを選択する

次のステップは、プロジェクト for .NETフレームワークのバージョンを選択します。 特定のバージョンで開発したい場合、そのバージョンを指定してください。そうでなければ、常に最新の安定版を選択してプロジェクトを作成します。 最新バージョンはMicrosoftのウェブサイトからダウンロードできます。その後、作成をクリックしてコンソールアプリケーションを生成します。

C# で ZIP ファイルを開く方法: 図 3 - 対象フレームワーク

これにより、テンプレートからデフォルトのプロジェクトが作成され、指定されたディレクトリにプロジェクトとソリューションファイルが保存されます。 プロジェクトが作成されると、以下のようになります。 最新バージョンではクラスが program.cs で使用されないことがあります。

// Import necessary namespaces
using System;

// Define the namespace
namespace MyApp // Note: actual namespace depends on the project name.
{
    // Define the Program class
    internal class Program
    {
        // Main method: Entry point of the application
        static void Main(string[] args)
        {
            // Print a welcome message
            Console.WriteLine("Hello, World!");
        }
    }
}

新しいZIPファイルを作成し、すべてのZIPアーカイブファイルを抽出するために、デフォルトライブラリのSystem.IO.Compressionを使用できます。 次のコードは、ZipFile.OpenRead および ZipFile.Open の静的メソッドを使用して ZIP ファイルを開いたり ZIP ファイルを抽出したりする方法を示しています。

// Import necessary namespaces
using System;
using System.IO;
using System.IO.Compression;

public class ZipExample
{
    public static void Main()
    {
        Console.WriteLine("-----------Zip - Unzip-----------");

        // Method to add a file entry to the ZIP archive
        static void AddEntry(string filePath, ZipArchive zipArchive)
        {
            // Get file name from the file path
            var file = Path.GetFileName(filePath);

            // Create a new entry in the ZIP archive for the file
            zipArchive.CreateEntryFromFile(filePath, file);
        }

        // Name of the ZIP file to be created
        var zip = "myFile.zip";

        // Open or create the ZIP file for updating
        using (ZipArchive archive = ZipFile.Open(zip, ZipArchiveMode.Update))
        {
            // Add files to the archive
            AddEntry("file1.txt", archive);
            AddEntry("file2.txt", archive);
        }

        // Directory where we want to extract the ZIP files
        var dirToExtract = "extract";

        // Create the directory if it does not exist
        if (!Directory.Exists(dirToExtract))
        {
            Directory.CreateDirectory(dirToExtract);
        }
        
        // Extract the contents of the ZIP file to the specified directory
        ZipFile.ExtractToDirectory(zip, dirToExtract);
        
        // Indicate that extraction is complete
        Console.WriteLine("Files extracted to: " + dirToExtract);
    }
}

上記のコードでは、myFile.zip という名前の ZIP ファイルがシステムネームスペースで使用されています。 Open メソッドは、指定されたモードで ZIP ファイルを開くために使用されます。 これも新しいZIPアーカイブファイルを作成するために使用できます。 一度開いたら、AddEntry メソッドを使用して新しいアーカイブエントリを追加でき、その後 ExtractToDirectory が ZIP アーカイブファイルを指定されたディレクトリに抽出します。 ディレクトリが存在しない場合、Directory.CreateDirectory を使用して作成されます。

ステップ2. NuGetパッケージマネージャーを使用したIronZIPのインストール

Visual Studioからプロジェクトマネージャーを開き、IronZIPパッケージを検索します。 次に最新バージョンを選択してインストールをクリックします。 ドロップダウンからインストールするバージョンを変更できます。 その後、インストールをクリックします。

C# で ZIP ファイルを開く方法: 図 4 - NuGet パッケージマネージャ

IronZIPを使用してZIPアーカイブファイルを作成し、ファイルを追加する

C# で ZIP ファイルを開く方法: 図 5 - IronZIP

IronZIPは、Iron Softwareによって開発されたアーカイブ圧縮と解凍のライブラリです。 広く使用されているZIP形式に加えて、TAR、GZIP、BZIP2形式も扱うことができます。

IronZIPは、正確性、使いやすさ、速度を重視したC# ZIPアーカイブライブラリです。 その使いやすいAPIにより、開発者は数分で現代 for .NETプロジェクトにアーカイブ機能を簡単に追加できます。

IronZIP は、System.IO.Compression ライブラリと比較して多くの利点を提供します。 圧縮時に希望する圧縮比率を指定し、ZIP、TAR、GZIP、BZIP2などの異なる圧縮アルゴリズムを使用することもできます。また、モバイル、ウェブ、デスクトッププラットフォームおよびさまざまな.NETバージョンをサポートしています。

// Setup: Specify the path for the new ZIP archive
var archivePath = "ironZip.zip";

// Check if the archive already exists, and delete it if so
if (File.Exists(archivePath))
{
    File.Delete(archivePath);
}

// Use IronZIP library to create a new ZIP archive
using (var archive = new IronZipArchive(9)) // Compression level: 9 for maximum compression
{
    // Add files to the ZIP archive
    archive.Add("file1.txt");
    archive.Add("file2.txt");

    // Save the archive to the specified path
    archive.SaveAs(archivePath);
}

初期ソースコードは、ZIPアーカイブファイル名を指定し、指定されたディレクトリが存在するかどうかを確認することで設定されます。 その後、Add メソッドを使用して ZIP ファイルを作成するためにファイルをアーカイブします。 圧縮パラメータの2番目は、低圧縮で1、高圧縮で9です。 テキストファイルは9を使用して損失なしで最大限に圧縮でき、画像ファイルはデータ損失を避けるために低い圧縮を使用できます。

IronZIPを使用してZIPアーカイブファイルを開く

IronArchive クラスは ZIP アーカイブファイルからファイルを抽出するためにも使用できます。IronArchive.ExtractArchiveToDirectory を使用してすべてのファイルが抽出され、以下のように特定のディレクトリに抽出されます。

// Directory to extract all files from the ZIP archive
var extractionPath = "IronZipFiles";

// Check if the directory exists; if not, create it
if (!Directory.Exists(extractionPath))
{
    Directory.CreateDirectory(extractionPath);
}

// Extract all files from the specified ZIP archive to the directory
IronArchive.ExtractArchiveToDirectory("ironZip.zip", extractionPath);

上記のコードはZIPファイルをディレクトリに抽出します。 コードはディレクトリが存在するかどうかをチェックし、存在しない場合はZIPアーカイブファイルが指定されたディレクトリに抽出されます。

ライセンス (無料トライアル利用可能)

上記のコードを機能させるには、ライセンスキーが必要です。 このキーは appsettings.json に配置する必要があります。

{
    "IronZip.LicenseKey": "your license key"
}
JSON

開発者向けにこちらで登録すると、試用ライセンスが提供され、はい、試用ライセンスにはクレジットカードは必要ありません。 メールIDを入力して無料トライアルに登録できます。

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

IronZIP からの静的な FromFile メソッドを使用して既存のアーカイブを開きます。このメソッドには、出力として作成される新しいアーカイブのファイル名を指定する必要もあります。

// Path to a new file to be added to the existing ZIP archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";

// Open the existing ZIP archive and add a new file
using (var file = IronArchive.FromFile("ironZip.zip", archivePlusPath))
{
    // Add additional files to the existing archive
    file.Add(file3);
}

コードは IronArchive.FromFile の静的メソッドを使用して既存の ZIP ファイルを開き、新しいファイルをアーカイブエントリとして追加します。 ファイルオブジェクトが破棄されると、更新されたアーカイブが正常に保存されます。

更新

IronZIPライブラリは顧客/ユーザーからのフィードバックに基づいて継続的に更新されており、すべての更新をこちらで確認できます。

結論

結論として、ZIPファイルプログラミングは現在のアプリケーション開発において重要なスキルであり、クラウドホストプロバイダーによってストレージおよびデータ転送コストが課される中で構築されます。 このスキルを知っていることは、プログラマーがアプリケーションのコストを削減し、アプリケーションのパフォーマンスを向上させるのに役立ちます。

インストール手順に従い、提供されたコード例を探ることで、開発者は迅速にIronZIPの力を活用してZIPタスクを簡単に処理できます。 ますます多くのアプリケーションが近代化され、クラウドに移行されるにつれて、IronZIPのような信頼できるZIPライブラリは、C#開発者が最新のアプリケーション開発の要求を満たすために必要なツールを提供します。 したがって、IronZIPの力を受け入れ、C#アプリケーションでZIPファイルを操作するための新しい可能性を開放してください。

IronZIPはその開発者に広範なサポートを提供します。 C#用IronZIPの動作について知るには、こちらをご覧ください。 IronZIPは無料のトライアルライセンスを提供しており、IronZIPとその機能を知るための素晴らしい機会です。

Iron Softwareは他のさまざまなライブラリを持っており、それらを探索して知識を深め、最新のアプリケーションをプログラム/開発するためのスキルを更新してください。

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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。