IRONZIPの使用

フォルダー内のファイルをC#を使用して圧縮する方法

公開済み 2024年2月18日
共有:

ZIPファイルとは、ZIP形式で圧縮された1つ以上のファイルやフォルダを含むファイルです。 複数のファイルやフォルダを1つのファイルに圧縮してアーカイブする一般的な方法です。データサイズを小さくし、ディスクスペースを節約し、インターネット上でのファイル転送を容易にします。 この記事では、次のような方法を学びます。ZIPファイルC#,using the can be translated into Japanese as:

を使用して.IronZIPライブラリ。 プログラムでZIPファイルを作成、読み込み、解凍、更新する方法や、暗号化、パスワード保護、圧縮レベルといったIronZIPの様々な機能を使用する方法を紹介します。 この記事を読み終わる頃には、IronZIPを使ってC#アプリケーションでZIPファイルを簡単に扱えるようになるだろう。

この記事で取り上げる内容

  1. IronZIPをプロジェクトにインストールします。

  2. ZIPファイルの作成

  3. パスワードで保護されたZIPファイルの作成

  4. ZIPファイルを展開する

  5. パスワードで保護されたZIPファイルを解凍する

  6. 既存のZIPアーカイブへのアクセス

IronZIPとは?

IronZIPは強力で多用途な C# (シーシャープ) ZIP アーカイブライブラリで、ZIP ファイルをプログラムで作成、読み込み、解凍することができます。 以下のような様々なアーカイブ形式をサポートしています。ZIP, **ター, GZIP、およびBZIP2. また、サポートしていますパスワード保護暗号化、圧縮レベル IronZIP は.NET 8、7、6、コア、スタンダード、フレームワークと互換性があります。

IronZIPは、ZIPファイルを扱う様々なユースケースや利点に対応します:

  1. **バックアップシステムの構築IronZIPを使って重要なファイルやフォルダをZIPアーカイブに圧縮・暗号化し、安全な場所に保存することができます。 こうすることで、ディスク容量を節約し、不正アクセスからデータを守ることができる。

  2. 電子メールの添付ファイルを送信する:IronZIPを使用すると、メールの添付ファイルをZIPファイルに圧縮してサイズを小さくすることができます。これにより、ファイルサイズ制限の超過を回避し、送信処理を高速化することができます。

  3. ウェブからファイルをダウンロードする:IronZIPを使用して、ソフトウェアパッケージ、ドキュメント、イメージ、その他のタイプのファイルなど、ウェブからZIPファイルをダウンロードしたり解凍したりすることができます。 これにより、帯域幅と時間を節約し、必要なファイルに簡単にアクセスすることができます。

IronZIPを始めよう

コードを書く前に、IronZIP NuGet PackageをC#プロジェクトにインストールする必要があります。 IronZIPは、NuGet経由で利用可能な一般的な圧縮ライブラリです。

IronZIPライブラリのインストール

IronZIPをインストールするには、Visual StudioのNuGetパッケージマネージャーコンソールを使用します。 以下のコマンドを実行してください:

Install-Package IronZip

あるいは、公式のIronZIPウェブサイトをご覧ください。インストールしたら、C#(シーシャープ)コードの先頭に以下の名前空間を追加することで始めることができます。

using IronZip;
using IronZip;
Imports IronZip
VB   C#

C#(シーシャープ)とZIPファイルのフォルダファイルの作成

IronZIPを使えば、フォルダ内のZIPファイルを簡単に作成することができる。以下のコードは指定されたディレクトリのすべてのファイルをZIP圧縮します。

static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
	Using archive = New IronZipArchive()
		For Each file In fileArray
			' Add files to the ZIP
			archive.Add(file)
		Next file
		' Export the ZIP
		archive.SaveAs("myZipFile.zip")
	End Using
End Sub
VB   C#

上記のC#(シーシャープ)コードはIronZIPライブラリを使用して、すべてのファイルを1つのZIPファイルに圧縮します。このコードでは以下のことを行っている:

  • fileArrayという文字列配列を宣言し、ディレクトリのパスを渡してDirectory.GetFilesメソッドの結果を代入した。("D:Docs"(ドキュメント)をパラメータとする。 このメソッドは、指定されたディレクトリ内のすべてのファイルの完全な名前を含む文字列の配列を返す。
  • メモリ上のZIPアーカイブを表すIronZipArchiveクラスの新しいインスタンスを作成しました。 インスタンスはarchiveという変数に代入され、usingステートメントでラップされる。
  • そして、foreachループを使ってfileArray配列を繰り返し、ファイルごとにアーカイブオブジェクトのAddメソッドを呼び出し、パラメータとしてファイル名を渡しています。 このメソッドはZIPアーカイブに新しいエントリーを追加する。
  • 最後に、アーカイブ・オブジェクトのSaveAsメソッドを呼び出し、ZIPファイルの名前を渡しました。("myZipFile.zip")をパラメータとする。 この方法は、ZIPアーカイブを現在のファイルシステム内のファイルに保存する。

    このようにして、わずか数行のコードで簡単に新しいzipアーカイブを作成することができる。

出力

出力は以下の通り:

C#(シーシャープ)を使用してフォルダ内のファイルをZIP圧縮する方法:図1-前のコード例からの出力ファイル

パスワードで保護されたZIPファイルの作成

IronZIPは、パスワードで保護されたZIPファイルを作成する最も簡単な方法を提供します。 以下のコード・サンプルは、ファイルを圧縮し、パスワード付きの新しいZIPファイルを作成します。

using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
Using archive = New IronZipArchive()
	 For Each file In fileArray
		 ' Add files to the ZIP
		 archive.Add(file)
	 Next file
	' Set Password and Encryption Method
	 archive.Encrypt("myPa55word", EncryptionMethods.AES256)
	 ' Export the ZIP
	 archive.SaveAs("myZipFile.zip")
End Using
VB   C#

行 archive.Encrypt("myPa55word"、EncryptionMethods.AES256); パスワードを設定する("myPa55word")IronZIP を使って ZIP アーカイブを作成します。アーカイブに AES-256 暗号化を適用することでセキュリティを強化し、 正しいパスワードを持つユーザだけがその内容にアクセスできるようにします。 この機能は、C#(シーシャープ)アプリケーション内での保存や転送中に機密データを保護するのに有効です。 第2パラメータに、暗号化アルゴリズムの指定モードを渡す必要がある。

ファイルは以下のように暗号化される。

出力

C#(シーシャープ)を使用してフォルダ内のファイルをZip圧縮する方法:図2-前のコード例から出力された暗号化ファイル

ここまで、指定されたパスからディレクトリをループしてZIPファイルを作成するデモを見てきた。 では、ファイルを解凍する例を見てみよう。

ZIPアーカイブからファイルを取り出す

IronZIPはC#(シーシャープ)でZIPアーカイブからファイルを抽出するメソッドを提供します。 以下のコードサンプルは、ZIPアーカイブ内の圧縮ファイルを展開します。

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
VB   C#

コード IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip"、"myExtractedFiles"); はIronZIPを使って "myZipFile.zip "からすべてのファイルを取り出し、"myExtractedFiles "ディレクトリに置きます。 この簡潔なメソッドは、C#(シーシャープ)でZIPアーカイブを抽出するプロセスを簡素化し、ファイル抽出タスクに便利なソリューションを提供します。

出力

出力はこうだ:

C#(シーシャープ)を使用してフォルダ内のファイルをZip圧縮する方法:図3 - 前のコード例から出力されたファイル

パスワードで保護されたZIPファイルから解凍する方法

IronZIPは、パスワードで保護されたZIPファイルを解凍する方法も提供します。 以下のコードは、IronZIPメソッドを使用して、指定されたZIPファイルから既存のすべてのファイルとディレクトリを展開します。

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
VB   C#

IronZipArchive クラスの ExtractArchiveToDirectory メソッドは、ZIP アーカイブから指定したディレクトリにすべてのエントリを展開します。 このメソッドには3つの引数が渡されます。("myZipFile.zip")には、保存先ディレクトリのパス("myExtractedFiles")ZIPファイルのパスワード("myPa55word").

この方法で、パスワードで保護されたzipファイルを簡単に取り出すことができる。

既存のアーカイブにアクセスする方法

IronZIPは以下のメソッドを提供します。**既存のアーカイブにアクセスするをクリックし、ファイルに存在するすべてのエントリーを表示する。

using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
    // Get Entries list
    List<string> names = archive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name);
    }
}
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
    // Get Entries list
    List<string> names = archive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name);
    }
}
Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
	' Get Entries list
	Dim names As List(Of String) = archive.GetArchiveEntryNames()
	For Each name As String In names
		Console.WriteLine(name)
	Next name
End Using
VB   C#

提供されたC#のコードは、"myPa55word "というパスワードで "myZipFile.zip "というZIPファイルをロードすることにより、安全なIronZIPArchiveインスタンスを作成するためにIronZIPを使用しています。 ファイルが暗号化されていない場合は、passwordパラメータを渡さないでください。 そして、エントリー名のリストを取得し、表示する。(ファイル名とフォルダ名)暗号化されたZIPアーカイブ内の

GetArchiveEntryNamesメソッドでエントリー名を収集し、for-eachループでそれぞれの名前をコンソールに出力します。 これは、IronZIPがパスワードで保護されたZIPアーカイブからのセキュアなアクセスと簡潔な方法でのエントリ情報の検索を可能にすることを示しています。

出力

C#(シーシャープ)を使用してフォルダ内のファイルをZip圧縮する方法:図4 - 先ほどのコード例の出力

結論

結論として、IronZIPはZIPファイルを扱うための堅牢で多機能なC#ライブラリである。 その能力は基本的なものにとどまらない。**圧縮以下のコンテンツを日本語に翻訳してください:抜粋以下のような特徴を備えている。パスワード保護暗号化、様々なアーカイブ形式との互換性。 バックアップシステムの作成、Eメールの添付ファイルの管理、ウェブからのファイルのダウンロードなど、IronZIPはこれらのタスクをシンプルかつ効率的に合理化します。

IronZIPをC# (シーシャープ)アプリケーションに統合することで、ZIPファイルの処理、データセキュリティの強化、ファイル転送プロセスの最適化のための強力なツールを得ることができます。 無料でご利用いただけます。試用必要に応じて。

< 以前
C#でディレクトリにZipアーカイブを抽出する方法
次へ >
VB .NETでZipファイルを抽出する方法

準備はできましたか? バージョン: 2024.12 新発売

無料のNuGetダウンロード 総ダウンロード数: 5,596 ライセンスを表示 >