IRONZIPの使用

C#でZipファイルを開く方法

更新済み 1月 4, 2024
共有:

ZIPは、可逆データ圧縮をサポートするアーカイブエントリーファイルシステムフォーマットです。 ZIPファイルには、圧縮された1つ以上のファイルやディレクトリが含まれることがあります。 ZIPファイルフォーマットはいくつかの圧縮アルゴリズムを許可していますが、DEFLATEが最も一般的です。 ZIPフォーマットは、その後すぐに多くのソフトウェアユーティリティによってサポートされるようになった。 トップクラスのOSプロバイダーは、長い間ZIPアーカイブ・サポートを搭載してきた。マイクロソフトはウィンドウズ98からZIPファイルをサポートし、他のOSもそれに続いた。

このブログでは、ZIPアーカイブファイルや解凍されたファイルを開くための、現代的で簡単かつ効率的な方法について説明します。 IronZIP. 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アーカイブの作成とZIPファイルの展開

IronZIPライブラリの紹介とドキュメントはこちら。 これ. C#(シーシャープ)アプリケーションでは、様々な方法でZIPファイルを作成し、抽出することができます。 IronZIP NuGetパッケージは、ZIP、TAR、GZIP、BZIP2といった異なるフォーマットでファイルをアーカイブするためのすべての機能を備えています。以下は、IronZIPを使用して、ZIPファイルを開いたり、ZIPファイルを展開したり、新しいZIPファイルを作成したりする次世代アプリケーションを構築するためのサンプルステップです。

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

プロジェクトの作成

.NETコンソールアプリはVisual Studioで作成できます。 Visual Studioを開き、Create projectを選択する。 ここでは、プロジェクトを作成するためのさまざまなテンプレートを見ることができます。 コードのデモやテストを行う最も簡単な方法は、コンソール・アプリケーションを作成することである。 Console Appプロジェクトのテンプレートを選択します。

C#(シーシャープ)でZipファイルを開く方法:図1 - 新規プロジェクト

プロジェクト名を入力

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

C#(シーシャープ)でZipファイルを開く方法:図2 - プロジェクトの構成

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

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

C#(シーシャープ)でZipファイルを開く方法:図3 - ターゲットフレームワーク

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

using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
    internal class Program
    {
        static void Main(string [] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
    internal class Program
    {
        static void Main(string [] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
Imports System
' See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!")
Dim MyApp As namespace ' Note: actual namespace depends on the project name.
If True Then
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	internal class Program
'	{
'		static void Main(string [] args)
'		{
'			Console.WriteLine("Hello World!");
'		}
'	}
End If
VB   C#

新しいZIPファイルを作成し、すべてのZIPアーカイブファイルを展開するには、デフォルトのライブラリからSystem.IO.Compressionを使用することができます。 上記のコードでは ZipFile.OpenRead`。 以下のコンテンツを日本語に翻訳してください: ZipFile.Open 静的メソッドは、ZIPファイルを開いたり、ZIPファイルを展開したりするために使用できます。

using System.IO.Compression;  
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath, 
System.IO.Compression.ZipArchive zipArchive)
{
    var file = Path.GetFileName(filePath); // get file name in var file
    zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip,     ZipArchiveMode.Create))
{
    AddEntry(file1, archive);
    AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
    Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
using System.IO.Compression;  
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath, 
System.IO.Compression.ZipArchive zipArchive)
{
    var file = Path.GetFileName(filePath); // get file name in var file
    zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip,     ZipArchiveMode.Create))
{
    AddEntry(file1, archive);
    AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
    Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
Imports System.IO.Compression
Console.WriteLine("-----------Zip - Unzip-----------")
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'static void AddEntry(string filePath, System.IO.Compression.ZipArchive zipArchive)
'{
'	var file = Path.GetFileName(filePath); ' get file name in var file
'	zipArchive.CreateEntryFromFile(filePath, file);
'}
Dim zip = "myFile.zip"
Using archive As System.IO.Compression.ZipArchive = ZipFile.OpenRead(zip, ZipArchiveMode.Create)
	AddEntry(file1, archive)
	AddEntry(file2, archive)
End Using
Dim dirToExtract = "extract"
If Directory.Exists(dirToExtract) = False Then
	Directory.CreateDirectory(dirToExtract)
End If
ZipFile.ExtractToDirectory(zip, dirToExtract) 'extracted file
VB   C#

上記のコードでは、myFile.zipという名前のZIPファイルを持っており、システム・ネームスペースを使っている。 OpenReadメソッドは指定されたモードで ZIP ファイルを開くために使用される。 これは、新しいZIPアーカイブファイルを作成するためにも使用できます。 いったん開いたら、AddEntryメソッドを使って新しいアーカイブエントリを追加し、ExtractToDirectoryメソッドを使って ZIP アーカイブファイルまたは選択したファイルを指定したディレクトリに展開することができる。 ディレクトリが存在するかどうかがチェックされる。 存在しない場合はDirectory.CreateDirectoryを使ってディレクトリを作成する。 dirToExtractはZIPアーカイブファイルを展開するディレクトリパスである。 コードの最後の行 `ZipFile.ExtractToDirectory(zip、dirToExtract)ZIPファイルを解凍する。すべてのファイルはディレクトリパスに保存される。

ステップ2.NuGetパッケージマネージャを使ってIronZIPをインストールする (アイアンZIP)

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

C#(シーシャープ)でZipファイルを開く方法:図4 - NuGetパッケージ・マネージャー

IronZIP (アイアンZIP)を使ってZIPアーカイブファイルを作成し、ファイルを追加する。

C#(シーシャープ)でZipファイルを開くには?図5 - IronZIP (アイアンZIP)

IronZIP によって開発されたアーカイブ圧縮・解凍ライブラリです。 アイアンソフトウェア. 広く使われているZIPフォーマットに加え、TAR、GZIP、BZIP2も扱えます。

IronZIP は、正確さ、使いやすさ、スピードを優先したC#(シーシャープ)ZIPアーカイブライブラリです。 ユーザーフレンドリーなAPIにより、開発者は最新の.NETプロジェクトにアーカイブ機能を数分で簡単に追加できます。

IronZIPSystem.Io.Compression ライブラリと比較して多くの利点がある。 圧縮時に必要な圧縮率を指定したり、異なる圧縮アルゴリズムZIP、TAR、GZIP、BZIP2を使用することもできます。また、モバイル、ウェブ、デスクトッププラットフォームと様々な.NETバージョンをサポートしています。

IronZIP (アイアンZIP)を使ってZIPアーカイブファイルを作成し、ファイルを追加する。

IronZIP クラス IronArchive は ZIP ファイルの作成、ZIP ファイルの展開に使用でき、単一のライブラリを使用して TAR、GZIP、BZIP2 アーカイブファイルの作成もサポートしている。 以下は ZIP ファイルを作成するコードです。IronArchiveクラスは ZIP ファイルを作成/オープンし、archive.Add` メソッドを使用して以下のようにファイルエントリをアーカイブに追加します。

// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
    File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
    // Add files to the zip 
    archive.Add(file1);
    archive.Add(file2);
    archive.SaveAs(archivePath);
}
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
    File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
    // Add files to the zip 
    archive.Add(file1);
    archive.Add(file2);
    archive.SaveAs(archivePath);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

初期ソースコードには、ZIPアーカイブファイル名を指定し、指定されたディレクトリが存在するかどうかをチェックするために必要なセットアップが含まれています。 次に、Addメソッドを使ってファイルをアーカイブし、ZIPファイルを作成する。 圧縮パラメーターの2番目のパラメーターは、低い方が1、高い方が9である。 txtファイルは最大9まで圧縮しても損失はなく、画像ファイルはより低い圧縮率でデータ損失を避けることができます。

IronZIP (アイアンZIP)を使ってZIPアーカイブファイルを開きます。

IronArchiveクラスはZIPアーカイブファイルからファイルを抽出するためにも使用できます。すべてのファイルは IronArchive.ExtractArchiveToDirectory` を使って展開されます。

var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
    Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
    Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
Dim extractionPath = "IronZipFiles"
' extract files from zip
If Directory.Exists(extractionPath) = False Then
	Directory.CreateDirectory(extractionPath)
End If
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath)
VB   C#

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

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

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

"IronZip.LicenseKey": "your lincese key"
"IronZip.LicenseKey": "your lincese key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronZip.LicenseKey": "your lincese key"
VB   C#

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

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

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

//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
    // Add files
    file.Add(file3);
}
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
    // Add files
    file.Add(file3);
}
'add to existing archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
Using file = IronArchive.FromFile(archivePath, archivePlusPath)
	' Add files
	file.Add(file3)
End Using
VB   C#

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

更新情報

IronZIPライブラリは顧客/ユーザーからのフィードバックに基づいて常に更新されています。 これ.

結論

結論として、ZIPファイル・プログラミングは、クラウド・ホスト・プロバイダーによってストレージとデータ転送コストが課金される現代のアプリケーション開発で構築するのに不可欠なスキルである。 このスキルを知っていれば、プログラマーはアプリケーションのコストを削減し、アプリケーションのパフォーマンスを向上させることができる。

インストール手順に従い、提供されているコード例を調べることで、開発者はすぐに IronZIP 新しいファイルを作成し、簡単にZip/Unzipタスクを処理します。 より多くのアプリケーションが近代化され、クラウドに移行するにつれて、以下のような信頼性の高いZIPライブラリが必要となります。 IronZIP C#(シーシャープ)開発者が最新のアプリケーション開発の要求に応えるために必要なツールを提供します。 だから、その力を受け入れよう IronZIP C#(シーシャープ)アプリケーションでZIPファイルを扱う新しい可能性を広げます。

IronZIP は、開発者向けに幅広いサポートを提供しています。 についてもっと知るには IronZIP C# (シーシャープ)の作品についてはこちらをご覧ください。 IronZIP を知る絶好の機会です。 IronZIP そしてその特徴。

アイアンソフトウェア 他にも様々なライブラリがあるので、それらを使ってより多くの知識を得て、最新のアプリケーションをプログラミング/開発するスキルをアップさせよう。

< 以前
.NET Coreでファイルを解凍する方法
次へ >
C# .NET CoreでZipファイルを作成する方法

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

無料のNuGetダウンロード 総ダウンロード数: 3,925 View Licenses >