IRONZIPの使用

.NET Coreでファイルを解凍する方法

チャクニット・ビン
チャクニット・ビン
2024年1月4日
共有:

1. 序論

「解凍」とは、ZIPアーカイブからファイルやフォルダを取り出し、解凍するプロセスを指す。 「Unzip」とは、圧縮されたファイルまたはディレクトリを元の状態に戻し、再びアクセスして使用できるようにするプロセスを指します。これは、ZIPファイルに圧縮された後の作業です。 画像、TXTファイルなど、様々な種類のファイルをZIPファイルに追加することができます、

ユーザーはZIPアーカイブの内容を解凍することで取り出すことができる。解凍とは圧縮プロセスを逆にすることである。 より効果的な送信、保存、共有のためにまとめられた個々のファイルやフォルダにアクセスするのは、よく使われる使い方だ。 unzip "手順が終わると、ファイルは元の構造を持ち、ユーザーが必要に応じて読んだり、変更したり、使用したりすることができる。 この記事では、IronZIPアーカイブライブラリを使用してAsp.netコアでファイルを解凍します。

2.Asp.NETコアの解凍ファイル概要

  1. 新しいAsp.NETコアプロジェクトを作成する。

  2. 作成したプロジェクトにIronZIPライブラリをインストールする

  3. ファイルを解凍するには、IronArchive クラスをインスタンス化します。

  4. ZIPファイルは、ExtractArchiveToDirectory関数を使用して抽出できます。

  5. 解凍先ファイルを指定します。

3.IronZIP ライブラリ

Iron Softwareは、.NETアプリケーションでZIPファイルの処理と管理を簡単にする.NETライブラリIronZIPを作成しました。 ZIPはプログラマーにツールと機能を提供し、様々な方法でZIPと対話することができる。 これらには、ZIPファイル内のファイルやディレクトリの生成、抽出、圧縮、解凍、暗号化、変更が含まれます。

3.1 IronZIPの特徴

  • ZIPファイル作成: .NETアプリが最初から新しいZIPアーカイブを生成する機能。
  • 抽出と解凍: 既存のZIPパッケージからファイルやディレクトリを取り除き、コンテンツを解凍する機能。
  • 圧縮: ファイルやフォルダーを縮小してZIPアーカイブにすることで、輸送や保存のためにサイズを小さくするツールを提供します。
  • パスワード保護と暗号化: ZIPアーカイブの内容を保護するために、この機能はパスワード保護を適用し、ZIPファイルを暗号化する能力を提供します。
  • ファイル操作: これにより、プログラマーはZIPパッケージ内のファイルやディレクトリを追加、削除、更新、または操作できます。
  • 互換性: 様々な .NET 環境で動作するように作られ、フレームワークの複数のバージョンと互換性があります。
  • パフォーマンス最適化: .NETプログラムが大きなZIPファイルやデータセットをより効果的に管理できるように、速度を最大化することを目指しています。

    開発者がアプリケーションのZIPファイルを管理するとき、IronZIPは便利なツールである。 .NETフレームワークの中で、プログラムでZIPアーカイブを扱うための様々な機能を提供し、シンプルさと多用途性を提供します。

    最新の機能、能力、互換性、または後のバージョンに含まれる新機能の詳細については、公式ドキュメント、リリースノート、またはIronZIPウェブサイトを参照してください。ソフトウェアライブラリは、時間の経過とともに更新および改善されます。詳しくはこちらをクリックしてください。

3.2 Visual Studioで新規プロジェクトを作成する

Visual Studioプログラムを起動したら、Fileオプションを選択します。 "new project "を選択し、"Asp.NET core Web App "を選択する。

関連するテキストボックスにプロジェクト名を入力し、ファイルの場所を選択してください。 次に、Createボタンをクリックし、必要な.NETフレームワークのバージョンを選択します。

選択したアプリケーションの構造は、Visual Studioプロジェクトによって生成されます。 この例では、ASP.NET MVCが使用されている。 つまり、コードを追加してアプリケーションをビルド/実行できる現在のコントローラを利用するか、新しいコントローラを作成するかです。

ライブラリを追加し、コードをテストできます。

4.IronZIP パッケージダウンロード

Visual Studioを使用する方法

Visual Studio の NuGet Package Manager 機能を使用して、パッケージをソリューションに直接インストールできます。 以下のスナップショットを使用して、NuGet Package Managerにアクセスできます。

.NET Coreでファイルを解凍する方法: 図1 - NuGetパッケージマネージャーにアクセスする方法

これはNuGetウェブサイトのパッケージ・リストを引き出す検索ボックスを提供する。下のスクリーンショットは "IronZIP "というフレーズをパッケージマネージャのどこで探すかを示している。

.NET Coreでファイルを解凍する方法: 図2 - NuGetパッケージマネージャーでIronZIPを検索する

上の画像では、適切な検索語のリストが表示されている。 ソリューション・パッケージをインストールするには、必要なオプションを選択する必要があります。

4.2 Visual Studio コマンドラインの使用

Visual Studioで、[Tools] > [NuGet Package Manager]を選択して、パッケージ・マネージャ・コンソールを表示します。

パッケージマネージャーのターミナルタブに以下の行を入れる:

Install-Package IronZip

ダウンロードしてアクティブなプロジェクトにインストールすると、パッケージは使用できるようになる。

4.3 NuGetウェブサイトからの直接ダウンロード

3番目の方法を使用すると、ウェブサイトから直接NuGetパッケージを取得できます。

そこに移動してリンクを開く。

右のメニューからダウンロードパッケージを選択してください。

ダウンロードが完了したら、パッケージをダブルクリックします。 それだけで、勝手にインストールされる。

もう一度、ソリューションをロードし、プロジェクトで使い始める。

4.4 IronZIPウェブサイトから直接ダウンロード

ウェブサイトから直接最新のパッケージを入手するには、このリンクをクリックしてください。ダウンロードしたら、同梱の手順に従ってプロジェクトにパッケージを追加してください。

  • ソリューション・ウィンドウから右クリックでプロジェクトを選択する。
  • リファレンスを選択し、ダウンロードが完了したらその場所をブラウズする。
  • その後、OKをクリックして参照を追加する。

4.5 Asp.NETコアでファイルを解凍する

C#を使ってZIPアーカイブから特定のファイルを取り出すには、ファイル名と取り出し先を指定する必要がある。

コードサンプルはこちら:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronZip;
namespace IronPDF_WebApp.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public IActionResult OnPost()
        {
try{
            var file = Request.Form.Files [0];
            using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
            {
                 file.CopyToAsync(stream);
            }
            IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
}
catch(Exception ex){
return RedirectToAction("Error");
}
            return RedirectToAction("Get");
        }
}
}
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronZip;
namespace IronPDF_WebApp.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public IActionResult OnPost()
        {
try{
            var file = Request.Form.Files [0];
            using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
            {
                 file.CopyToAsync(stream);
            }
            IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
}
catch(Exception ex){
return RedirectToAction("Error");
}
            return RedirectToAction("Get");
        }
}
}
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages
Imports IronZip
Namespace IronPDF_WebApp.Pages
	Public Class IndexModel
		Inherits PageModel

		Private ReadOnly _logger As ILogger(Of IndexModel)
		Public Sub New(ByVal logger As ILogger(Of IndexModel))
			_logger = logger
		End Sub
		Public Function OnPost() As IActionResult
Try
			Dim file = Request.Form.Files (0)
			Using stream = New FileStream(filepath + file.FileName, FileMode.Create)
				 file.CopyToAsync(stream)
			End Using
			IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile)
Catch ex As Exception
Return RedirectToAction("Error")
End Try
			Return RedirectToAction("Get")
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

上記のコードで、IronZIP 名前空間がインポートされていることを確認してください。 IronZIPのZipFileクラスには、ExtractArchiveToDirectory関数が含まれています。 これにより、ソース・ファイル・システムと解凍ファイルのパスという2つのパラメーターを渡すことができる。 ZIPArchive zip ファイルには任意の数のコンテンツが含まれる可能性があり、それを使用してコンテンツを抽出し、ファイルが指定したディレクトリに保存できます。 単一ZIPファイルの内容を抽出するポイントとして使用されるディレクトリパスは、ExtractArchiveToDirectoryメソッドで必要な唯一のパラメータです。

すべてのファイルを指定されたディレクトリに展開するために、この手法は内部的にZIPパッケージ内のすべてのファイルとディレクトリをループする。 ZIPファイルがなかったり、抽出手順に問題があるなど、例外が発生した場合は、慎重に対処してください。 例外はtry-catchブロックを使ってキャッチし、処理することができる。 大量抽出作業では、ExtractArchiveToDirectory メソッドがZIPアーカイブ内のすべてのファイルやディレクトリの抽出を管理することで抽出を容易にします。ZipファイルはIronZIP拡張メソッドを使用して作成できます。

IronZIPライブラリの詳細を読むには、こちらをクリックしてください。

5. 結論

開発者は、C#アプリケーションでZIPファイルを管理するために特別に設計されたIronZIP for .NETライブラリの助けを借りて、ZIPファイルの圧縮、抽出、および操作を処理することができます。 複雑な手順を合理化し、特定のファイルの抽出、ファイルの一括抽出、エントリーの追加、既存のアーカイブの変更などのファイル操作をよりシンプルにすることで、IronZIPは直感的なAPIを採用しています。

このライブラリを使えば、開発者はC#(シーシャープ)プロジェクトでゼロから始めることなく、ファイル管理機能を向上させることができる。 難なく統合できる。 その汎用性のおかげで、ZIPの内容は動的に変更され、様々なアプリケーションの要件に合わせてファイルを追加、変更、削除することができます。

IronZIPの強力な例外処理機能は、ZIPファイルの紛失や破損のような状況に対処する際、一貫したワークフローを保証し、ミスの修復を容易にします。 過去には、IronZIPは.NET設定でZIPファイルを管理するための信頼できるソリューションを提供していた。 IronZIPの価格は$749からで、無料の開発者バージョンが付属しています。 ライセンスについて詳しくは、こちらをご参照ください。 Iron Software製品の確認はこちらをご覧ください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
ZipArchive C# (開発者チュートリアル)
次へ >
C#でZipファイルを開く方法