IRONZIPの使用

C#でディレクトリにZipアーカイブを抽出する方法

公開済み 2024年3月26日
共有:

ZIPファイルは、複数のファイルやディレクトリを1つのアーカイブにバンドルする便利な方法です。バックアップの管理、ソフトウェアの配布、ファイルの共有など、ZIPアーカイブからの効率的な抽出は非常に重要です。 IronZIP強力な.NETライブラリーは、シンプルなメソッドを提供することでこのプロセスを簡素化している。

C#(シーシャープ)でZipアーカイブをディレクトリに展開する方法;

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

  2. ExtractArchiveToDirectory を使用します。()メソッドは IronZIP によって提供される。

  3. ZIPファイルのパスを指定する(例:"output.zip")と抽出先ディレクトリ(例:"抽出").

IronZIPとは何ですか?

IronZIPは、.NETアプリケーション内でZIPファイルを扱う多機能なC#(シーシャープ)ライブラリです。 デスクトップ・ソフトウェア、ウェブ・アプリケーション、オートメーション・ツールのいずれを構築する場合でも、IronZIP は以下を簡素化します。作成, 読込み、および抽出ZIPアーカイブ。

主な機能

ハイパフォーマンス: IronZIPは、ファイルの圧縮と解凍のための強力なエンジンを備えています。

使いやすさ: 開発者はIronZIPをプロジェクトにシームレスに統合することができます。 このライブラリは、ZIPファイルを扱うためのシンプルなメソッドを提供します。

NuGetの統合:インストールIronZIPC# (シーシャープ)のziparchiveディレクトリ展開ソリューションからアクセスできるようになります。

クロスプラットフォーム互換性: IronZIPはWindows、Linux、macOSを含む様々なプラットフォームをサポートしています。

ドキュメンテーションとチュートリアル: Explore officialドキュメント以下のコンテンツを日本語に翻訳してください:チュートリアルIronZIPの効果的な活用方法をご覧ください。

IronZIPは、ファイルをzip圧縮して配布したり、バックアップを管理したり、データアーカイブを扱ったりする際に、信頼性が高く効率的なソリューションを開発者に提供します。

ZIPアーカイブをディレクトリに展開する

始める前に、IronZIP ライブラリをプロジェクトにインストールする必要があります。 NuGet Package Manager Consoleを使って以下のコマンドで追加できる:

Install-Package IronZip

上記のコマンドは、IronZIPライブラリと必要な依存関係をプロジェクトにインストールします。

また、NuGet Package Manager for Solutionから "IronZIP "でダウンロードすることもできます。

必要な using ディレクティブをコードに含めてください:

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
VB   C#

ZIPファイルを指定のディレクトリに解凍する。

IronZIPは、ZIPアーカイブをディレクトリに展開するプロセスを簡素化します。 たった1行のコードでファイルを取り出すことができる。 次のコードは、指定されたパスにあるすべてのファイルを抽出する。

internal class Program
 { 
static void Main(string [] args)
 {
     IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
 }
}
internal class Program
 { 
static void Main(string [] args)
 {
     IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
 }
}
Friend Class Program
Shared Sub Main(ByVal args() As String)
	 IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts")
End Sub
End Class
VB   C#

上記のコード行は、"Contracts.zip "ファイルの中身を取り出し、"Contracts "という名前の保存先フォルダに配置する。これは、C#(シーシャープ)アプリケーションでZIPアーカイブをプログラムで処理する便利な方法です。

説明

  1. IronZipArchive:IronZIP ライブラリのクラスまたはオブジェクト。 ZIPファイルを操作するためのメソッドとプロパティを提供します。

  2. .ExtractArchiveToDirectory("Contracts.zip"、"Contracts"):

    1. ExtractArchiveToDirectory メソッドは IronZipArchive のインスタンスで呼び出されます。

    2. 最初の引数 "Contracts.zip "は、解凍したいZIPファイルへのパスを表します。
  3. 2番目の引数 "Contracts "は、抽出されたファイルが置かれるターゲット・ディレクトリを指定する。

    指定したディレクトリにすでにファイルが存在する場合は、既存のファイルを上書きする。 解凍されたファイルは以下の通り:

    C#(シーシャープ)でZipアーカイブをディレクトリに展開する方法:図1 - ファイルシステム

パスワードで保護されたZIPアーカイブを展開する

IronZIPは、パスワードで保護された圧縮ファイルを解凍する方法も提供します。 次の例は、パスワードで保護されたZIPファイルからファイルを抽出します。

IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip")
VB   C#

上記のコードは、"PasswordProtectedContracts.zip "というパスワードで保護されたZIPファイルの内容を抽出し、"Contracts "というディレクトリに配置する。指定されたパスワードは、保護されたZIPファイルの安全な抽出を保証します。

既存のアーカイブにアクセス

IronZIPは、指定されたディレクトリから解凍することなく、既存のZIPファイルにアクセスすることができます。 この機能は、圧縮されたアーカイブからファイルを抽出したり、特定のエントリが存在するかどうかを検証したり、あるいはユーザーの操作に応じてZIPファイルの内容を動的に検査したりするようなシナリオにとって重要である。

ZIPアーカイブのエントリーを見る

次のコード例は、既存のZIPファイルにアクセスし、そのエントリーをコンソールに表示します。

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

上記のコードはIronZIPを使って "Contracts.zip "というZIPファイルの中身をチェックしている。IronZipArchiveオブジェクトを作成し、エントリ名のリストを取得する。(ファイル名のように)メソッドを使用してアーカイブから取得します。 ZIPファイルがパスワードで保護されている場合、IronZipArchiveオブジェクトを作成する際にパスワードを含めることができます。 そして、それぞれのファイル名をコンソールに出力する。

こうすることで、圧縮アーカイブ内の指定されたエントリーを扱うことができる。

出力は以下の通りです:

C#(シーシャープ)でZIPアーカイブをディレクトリに展開する方法:図2 - ZIPアーカイブエントリの出力

指定されたエントリがZIPファイルに存在するかどうかをチェックする

また、指定されたエントリーが指定されたZIPファイルに存在するかどうかもチェックできる。次のコードはそのデモンストレーションです。

using (var zipArchive = new IronZipArchive("Contracts.zip"))
 {
     if(zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
     {
         Console.WriteLine("File Exist");
     }
 }
using (var zipArchive = new IronZipArchive("Contracts.zip"))
 {
     if(zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
     {
         Console.WriteLine("File Exist");
     }
 }
Using zipArchive = New IronZipArchive("Contracts.zip")
	 If zipArchive.CheckArchiveEntryExist("Contract1.pdf") Then
		 Console.WriteLine("File Exist")
	 End If
End Using
VB   C#

上記のコードはIronZIPライブラリを使って、"Contracts.zip "というファイルに "Contract1.pdf "というエントリが含まれているかどうかをチェックしている。これは、ZIPファイルのIronZipArchiveオブジェクトを作成することで行います。コードブロックの中には、"Contract1.pdf "がZIPファイルの中に存在するかどうかをチェックする "if "文があります。もし存在すれば、コンソールに "File Exist "と表示されます。 もっと簡単に言えば、このコードは特定のファイルがZIPファイルの中にあるかどうかを確認するのに役立ち、もしあればそれを知らせてくれる。

C#(シーシャープ)でZipアーカイブをディレクトリに展開する方法:図3 - ファイルの存在チェック出力

既存のZIPファイルからエントリを削除する

IronZIPはZIPファイルからエントリーを削除するメソッドを提供します。以下のコードは既存のZIPからファイルを削除します。

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}
Using zipArchive = New IronZipArchive("Contracts.zip")
	zipArchive.DeleteArchiveEntry("Contract1.pdf")
End Using
VB   C#

上記のコードは、IronZIPを使って "Contracts.zip "というZIPアーカイブからエントリーを削除する方法を示しています。usingブロックの中で、指定された "Contract1.pdf "というファイルがアーカイブから削除されます。この操作により、C# (シーシャープ)アプリケーションでZIPファイルを効率的に管理することができます。

結論

結論として、IronZIPはC#(シーシャープ)開発者にとって貴重なツールであり、様々な場面でZIPファイルの取り扱いを簡素化する。 それはファイルの展開業務用。

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

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

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