.NET MAUI データ抽出SDKとIronZIP
.NET MAUI、または.NET Multi-platform App UIは、クロスプラットフォームアプリケーションを構築するためのフレームワークです。 これは、Windows、macOS、iOS、Android、その他のデバイスで動作する単一のコードベースでアプリケーションを作成することができます。 React Nativeに似ていますが、JavaScriptの代わりにC#を使用します。
.NET MAUIは、C#開発者が単一の環境から手間のかからないモバイルアプリケーションやデスクトップアプリを構築できるようにします。 Microsoft .NET MAUIは、開発者がアプリ開発プロセスを合理化し、最適化するための包括的なドキュメントとリソースを提供しています。
この記事では、データ抽出の目的で.NET MAUIと統合された、C#の強力なZIPアーカイブライブラリIronZIPを探ります。
Zipアーカイブからデータを抽出する方法
- Visual Studio .NET MAUIプロジェクトを作成
- NuGetを使用してC# Zipライブラリをインストール
- データ抽出アプリのインターフェースを設計
- Zip作成およびZip抽出メソッドを実装
- アプリケーションを実行して結果を確認
IronZIPへの紹介
IronZIPは、.NETでアーカイブを作成、読み取り、抽出するために設計された包括的なC# ZIPアーカイブライブラリです。 ZIP、TAR、GZIP、BZIP2など、幅広いアーカイブ形式をサポートしています。IronZIPは、.NET 7、6、5、Core、Standard、およびFrameworkなどのさまざまな.NETバージョンと互換性があります。
クロスプラットフォームであり、Windows、Linux、Mac、iOS、Android、Docker、Azure、AWSで動作するC#、F#、およびVB.NETアプリケーションに適しています。
IronZIPの主な機能には以下が含まれます:
- 様々なオペレーティングシステムのクロスプラットフォーム対応。
- 異なる.NETバージョンおよびプロジェクトタイプとの互換性。
- ZIP、TAR、GZIP、BZIP2アーカイブの作成、読み取り、抽出のサポート。
- マルチプラットフォームアプリケーションを構築するための.NET MAUIとの統合。
前提条件
開始する前に、以下の前提条件を確認してください:
- Visual Studioに.NET MAUIワークロードがインストールされていること。
- IronZIPライブラリを.NET MAUIプロジェクトに追加。
Visual Studioで.NET MAUIアプリケーションを作成する手順
- Visual Studioを開き、"新しいプロジェクトを作成"をクリックします。
- .NET MAUIアプリプロジェクトテンプレートを選択し、"次へ"をクリックします。

- プロジェクト設定、プロジェクト名、および場所を構成します。 次へをクリックします。

- 追加情報から適切な.NETフレームワークを選択します。 IronZIPは最新バージョンの.NETフレームワークをサポートしているため、それを選択できます。

- IronZIPライブラリを使用してZipデータ抽出用の.NET MAUIアプリを作成するには、"作成"をクリックします。
IronZIPのインストール
IronZIPを.NET MAUIプロジェクトに統合するには、以下の手順を行います:
- ビューからソリューションエクスプローラーを開きます。

- ソリューションエクスプローラーでプロジェクトを右クリックします。
- "NuGetパッケージの管理"を選択します。

- NuGetブラウズタブで"IronZIP"を検索し、プロジェクトにパッケージをインストールします。

- プレビュー変更ダイアログボックスで"適用"をクリックして変更を加え、その後"承諾"をクリックしてIronZIPライセンスを承認します。
- NuGetがインストールを終了し、確認メッセージが表示されます。
全てがインストールされ設定が完了したら、.NET MAUIでZip Extractorの作成に進みましょう。
Zip Extractorを作成する手順
ステップ1: アプリのインターフェースを設計
このセクションでは、.NET MAUIアプリケーションのユーザーインターフェース設計に焦点を当てます。 プロジェクトフォルダのMainPage.xamlファイルを開き、ユーザーフレンドリーなインターフェースを作成するための必要なXAMLコードを追加します。
ここでは、zipファイルを作成するためのボタンと、zipファイルを抽出するためのボタンの2つが必要です。 適切なメッセージを提供するためにいくつかのラベルも必要です。 以下のコード例は、デザインのXAMLコードを示しています。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiAppDataExtraction.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Label
Text="IronZIP - A Zip Library to Create and Extract Zip Content!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to dot net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Button
x:Name="OpenFileBtn"
Text="Extract Zip File"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFileButtonClicked"
HorizontalOptions="Center" />
<Button
x:Name="OpenFilesBtn"
Text="Create Zip"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFilesButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage><?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiAppDataExtraction.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Label
Text="IronZIP - A Zip Library to Create and Extract Zip Content!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to dot net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Button
x:Name="OpenFileBtn"
Text="Extract Zip File"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFileButtonClicked"
HorizontalOptions="Center" />
<Button
x:Name="OpenFilesBtn"
Text="Create Zip"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFilesButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>アプリケーションを実行すると、画面に通常のWindowsフォームとして出力が表示されます。

ステップ2: コードの実装
1. Zipを作成
プロジェクトのMainPage.xaml.csファイルを開き、"Create Zip"機能を作成します。 OnSelectFilesButtonClickedメソッドを実装して、FilePickerを開き、zipファイルを作成するための任意のタイプの複数のファイルを選択できるようにします。
次に、選択されたファイルのパスをすべてリスト化します。 最後にそれをCreateZipメソッドに渡し、IronZIPがすべてのファイルパスを使用してシームレスにzipファイルを作成します。
以下のコード例は、このタスクを達成する方法を示しています。
private async void OnSelectFilesButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select multiple files of any type
var results = await FilePicker.PickMultipleAsync();
if (results != null)
{
var selectedFilePaths = new List<string>();
foreach (var file in results)
{
// Add file full path to the list one by one
selectedFilePaths.Add(file.FullPath);
}
CreateZip(selectedFilePaths);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}private async void OnSelectFilesButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select multiple files of any type
var results = await FilePicker.PickMultipleAsync();
if (results != null)
{
var selectedFilePaths = new List<string>();
foreach (var file in results)
{
// Add file full path to the list one by one
selectedFilePaths.Add(file.FullPath);
}
CreateZip(selectedFilePaths);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}次に、CreateZipメソッドを実装します。 IronZIPのIronArchiveクラスは、zipファイルを作成する場所のパスを取得します。 選択された各ファイルパスをループして、Addメソッドでファイルをzipファイルに追加します。
ファイルが追加されると、DisplayAlertを使用して確認メッセージが表示されます。
private async void CreateZip(List<string> selectedFilePaths)
{
var path = "E:\\output.zip";
// Create a Zip
using (var archive = new IronArchive(path))
{
// Add files to the ZIP
foreach (var file in selectedFilePaths)
{
archive.Add(file);
}
}
await DisplayAlert("Congratulations", "All files added to " + path, "Ok");
}private async void CreateZip(List<string> selectedFilePaths)
{
var path = "E:\\output.zip";
// Create a Zip
using (var archive = new IronArchive(path))
{
// Add files to the ZIP
foreach (var file in selectedFilePaths)
{
archive.Add(file);
}
}
await DisplayAlert("Congratulations", "All files added to " + path, "Ok");
}既存のzipにファイルを追加して抽出する方法や、zipを作成する方法の詳細については、こちらのチュートリアルページをご覧ください。
2. Zipを抽出
ここでは、"Extract Zip"機能を作成します。 再び、MainPage.xaml.csファイルで、OnSelectFileButtonClickedメソッドを実装して、FilePickerを開き、抽出するための単一のzipファイルを選択できるようにします。
選択されたファイルのフルパスを文字列変数に設定し、IronZIPが抽出を行うExtractZipメソッドに送信します。 コードは次の通りです:
private async void OnSelectFileButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select a single file of any type
var result = await FilePicker.PickAsync();
if (result != null)
{
// Add File Full Path to the list one by one
var selectedFile = result.FullPath;
ExtractZip(selectedFile);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}private async void OnSelectFileButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select a single file of any type
var result = await FilePicker.PickAsync();
if (result != null)
{
// Add File Full Path to the list one by one
var selectedFile = result.FullPath;
ExtractZip(selectedFile);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}次に、ExtractZipメソッドを作成します。 このメソッドでは、ファイルを抽出したい出力フォルダのパスを設定します。
IronZIPのExtractArchiveToDirectoryメソッドを使用し、選択されたファイルパスと出力パスを渡します。 このメソッドは、zip内のすべてのファイルをシームレスに変換して出力フォルダに転送します。 最後に、抽出が成功したことを示す確認メッセージが表示されます。
コードは次の通りです:
private async void ExtractZip(string selectedFilePath)
{
var path = "E:\\Extracted Files";
IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
await DisplayAlert("Congratulations", "All files extracted to " + path, "Ok");
}private async void ExtractZip(string selectedFilePath)
{
var path = "E:\\Extracted Files";
IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
await DisplayAlert("Congratulations", "All files extracted to " + path, "Ok");
}ステップ3: アプリケーションの実行
IronZIPとコードを統合した後、アプリケーションをビルドし、データ抽出タスクを実行します。 zipファイルを作成して、zipファイルからファイルを抽出することで機能をテストします。
指定したディレクトリで出力および抽出されたファイルを確認して結果を検証します。
ステップ4: 結果の検証
1. Zipの作成テスト
まず、zipファイルを作成してみましょう。Create Zipボタンをクリックすると、ファイルダイアログが表示されます。 zipに追加するために複数、または単一のファイルを選択できます。

開くをクリックすると、ファイルが正常にoutput.zipに追加されたことを示す確認メッセージが表示されます。

output.zipファイルに移動してその内容を確認すると、追加したすべてのファイルが表示されます。

2. Zipの抽出テスト
次に、zipファイルを抽出します。Extract Zipボタンをクリックすると、ファイルダイアログが表示されます。 抽出したいZIPファイルを選択し、開くをクリックします。

zipファイルからのデータキャプチャが完了し、希望のフォルダに抽出されると、確認メッセージが表示されます。

次に、"抽出されたファイル"フォルダに移動すると、選択したzipから抽出されたファイルが表示されます。

結論
結論として、IronZIPを.NET MAUIと統合することにより、クロスプラットフォームアプリケーションでのアーカイブの作成、読み取り、および抽出に対して強力なソリューションを提供します。
提供された例は、IronZIPを使用して複数のファイルを選択し、zipアーカイブを生成し、.NET MAUI内でzipアーカイブからファイルを抽出する方法を示しています。
これらのテクノロジーの組み合わせにより、開発者はさまざまなプラットフォームでシームレスにアーカイブを管理および操作する経験を得られます。
より詳細な情報とコード例については、こちらのドキュメントページをご覧ください。
よくある質問
ZIPライブラリを.NET MAUIプロジェクトに統合するにはどうすればよいですか?
IronZIPのようなZIPライブラリを.NET MAUIプロジェクトに統合するには、Visual Studioで新しい.NET MAUIプロジェクトを作成し、NuGetを使用してIronZIPライブラリをインストールし、提供されているコード例を使ってZIPアーカイブ機能を実装します。
.NET MAUIアプリケーションでZIPライブラリを使用する利点は何ですか?
.NET MAUIアプリケーションでIronZIPのようなZIPライブラリを使用することで、効率的なデータ圧縮と抽出を実現でき、複数のアーカイブ形式をサポートし、さまざまなプラットフォームや.NETバージョンと互換性があります。
クロスプラットフォームのアプリケーションでZIPライブラリを使用できますか?
はい、IronZIPをクロスプラットフォームのアプリケーションで使用できます。C#、F#、VB.NETアプリケーションをWindows、Linux、Mac、iOS、Androidでサポートしています。
.NET MAUIアプリケーションでZIPファイルを作成する方法は?
.NET MAUIアプリケーションでZIPファイルを作成するには、IronZIPライブラリを使用します。ファイル選択を可能にするOnSelectFilesButtonClickedメソッドを実装し、CreateZipメソッドでIronArchiveクラスを使ってファイルをZIPアーカイブに追加します。
.NET MAUIプロジェクトでZIPアーカイブからファイルを抽出するには?
.NET MAUIプロジェクトでZIPアーカイブからファイルを抽出するには、IronZIPのExtractArchiveToDirectoryメソッドを使用します。まず、OnSelectFileButtonClickedメソッドを実装してZIPファイルを選択し、その内容を指定されたディレクトリに抽出します。
IronZIPがサポートしているアーカイブ形式は?
IronZIPは、ZIP、TAR、GZIP、BZIP2などのさまざまなアーカイブ形式をサポートしており、異なる種類の圧縮ファイルアーカイブを扱うための汎用的な選択肢です。
IronZIP は異なる .NET バージョンと互換性がありますか?
はい、IronZIPは.NET 7、6、5、Core、Standard、およびFrameworkなどのさまざまな.NETバージョンと互換性があり、異なる.NET環境で作業する開発者に柔軟性を提供します。
.NET MAUIでZIPライブラリを実装するための前提条件は何ですか?
.NET MAUIでIronZIPのようなZIPライブラリを実装するには、.NET MAUIワークロードがインストールされたVisual Studioが必要で、NuGetを通じてプロジェクトにIronZIPライブラリを追加します。
.NET MAUIアプリケーションにZIP機能をどのように強化しますか?
IronZIPを統合してZIPファイルの作成と抽出を管理し、ユーザーに強力なデータ圧縮および解凍機能を提供することで、.NET MAUIアプリケーションを強化します。
.NET MAUIでZIPライブラリを使用するための詳細情報はどこで入手できますか?
.NET MAUIプロジェクトにおけるZIP機能の統合と活用に関する包括的なガイダンスを提供するIronZIPドキュメントページでより詳細な情報とコード例を見つけることができます。








