IRONSOFTWAREHOME
USING IRONZIP

.NET MAUI 数据提取 SDK 和 IronZIP

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

.NET MAUI,或称.NET多平台应用程序UI,是用于构建跨平台应用程序的框架。 它允许开发人员使用单一代码库创建在Windows、macOS、iOS、Android及其他设备上运行的应用程序。 类似于React Native,但它使用C#而不是JavaScript。

.NET MAUI允许C#开发人员从单一环境无障碍地构建移动应用程序和桌面应用程序。 Microsoft .NET MAUI提供全面的文档和资源,帮助开发人员简化和优化应用程序开发过程。

在本文中,我们将探索集成 IronZIP 这一强大的 C# ZIP 归档库和 .NET MAUI,以实现数据提取目的。

如何从Zip档案中提取数据

  1. 创建一个Visual Studio .NET MAUI项目
  2. 使用NuGet安装C# Zip库
  3. 设计数据提取应用界面
  4. 实现创建Zip和提取Zip的方法
  5. 运行应用程序并验证结果

IronZIP简介

IronZIP是一个全面的C# ZIP档案库,旨在为.NET中创建、读取和提取档案。 它支持广泛的档案格式,包括ZIP、TAR、GZIP和BZIP2。IronZIP兼容不同的.NET版本,如.NET 7、6、5、Core、Standard和Framework。

它是跨平台的,适用于在Windows、Linux、Mac、iOS、Android、Docker、Azure和AWS上运行的C#、F#和VB.NET应用程序。

IronZIP的主要特性包括:

  • 对各种操作系统的跨平台支持。
  • 兼容不同的.NET版本和项目类型。
  • 支持创建、读取和提取ZIP、TAR、GZIP和BZIP2档案。
  • 与.NET MAUI集成以构建多平台应用程序。

前提条件

在开始之前,请确保您具备以下条件:

  1. 安装了.NET MAUI工作负载的Visual Studio
  2. 已将IronZIP库添加到您的.NET MAUI项目中。

在Visual Studio中创建.NET MAUI应用程序的步骤

  1. 打开Visual Studio并点击"创建新项目"。
  2. 选择.NET MAUI应用程序项目模板并点击下一步。

.NET MAUI 数据提取 SDK(开发者教程):图 1

  1. 配置项目设置、项目名称和位置。

.NET MAUI 数据提取 SDK(开发者教程):图 2

  1. 从附加信息中,选择合适的.NET框架。 IronZIP支持最新版本的.NET框架,所以您可以选择该框架。

.NET MAUI 数据提取 SDK(开发者教程):图 3

  1. 点击创建,使用IronZIP库创建用于Zip数据提取的.NET MAUI应用程序。

安装IronZIP

要将IronZIP集成到您的.NET MAUI项目中,请按照以下步骤操作:

  1. 从视图中打开解决方案资源管理器。

.NET MAUI 数据提取 SDK(开发者教程):图 4

  1. 右键点击解决方案资源管理器中的项目。
  2. 选择"管理解决方案的NuGet包"。

.NET MAUI 数据提取 SDK(开发者教程):图 5

  1. 在NuGet浏览标签中,搜索"IronZIP"并为项目安装该包。

.NET MAUI 数据提取 SDK(开发者教程):图 6

  1. 在预览更改对话框中,点击"应用"以进行更改,然后点击"接受"以接受IronZIP许可。
  2. NuGet将完成安装并出现确认消息。

安装和设置完成后,让我们继续执行创建在.NET MAUI中的Zip提取器的数据提取任务。

创建Zip提取器的步骤

步骤1:设计应用接口

在本节中,我们将专注于为您的.NET MAUI应用程序设计用户界面。 打开项目文件夹中的MainPage.xaml文件,添加必要的XAML代码以创建用户友好的界面。

在这里,我们需要两个按钮,一个用于创建zip文件,另一个用于提取zip文件。 还需要一些标签来提供适当的消息。 以下代码示例展示了设计的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

运行应用程序,您将在屏幕上看到作为常规Windows窗体输出。

.NET MAUI 数据提取 SDK(开发者教程):图 7

步骤2:实现代码

1. 创建Zip

打开MainPage.xaml.cs文件并创建"创建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}");
    }
}

接下来,实施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");
}

有关如何创建文件并添加到现有zip以及提取zip的更多详细信息,请访问此教程页面

2. 提取Zip

现在,我们将创建"提取Zip"功能。 再次在MainPage.xaml.cs文件中,实现OnSelectFileButtonClicked方法以允许打开FilePicker并选择一个用于提取的zip文件。

所选文件的完整路径设置为字符串变量,并发送至ExtractZip方法,IronZIP在那里执行提取。 代码如下

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");
}

步骤3:运行应用

成功集成了代码和IronZIP后,构建并运行应用程序以执行数据提取任务。 通过创建一个zip文件和从zip文件中提取文件来测试功能。

通过检查指定目录中的输出和提取文件来验证结果。

步骤4:验证结果

1. 测试创建Zip

首先,让我们尝试创建一个zip文件。点击创建Zip按钮,它将为您呈现一个文件对话框。 您可以选择多个或单个文件添加到zip中。

.NET MAUI 数据提取 SDK(开发者教程):图 8

点击打开,并会出现一个确认消息,显示文件已成功添加到output.zip。

.NET MAUI 数据提取 SDK(开发者教程):图 9

如果我们导航到output.zip文件并查看其内容,我们将看到所有我们添加的文件。

.NET MAUI 数据提取 SDK(开发者教程):图 10

2. 测试提取Zip

现在让我们提取一个zip文件。点击提取Zip按钮,会出现一个文件对话框。 选择您想提取的zip文件并点击打开。

.NET MAUI 数据提取 SDK(开发者教程):图 11

从zip文件中的数据捕获完成并提取到所需文件夹后,它会显示确认消息。

.NET MAUI 数据提取 SDK(开发者教程):图 12

现在,导航到"提取文件"文件夹,您将看到从我们选择的zip中提取的文件。

.NET MAUI 数据提取 SDK(开发者教程):图 13

结论

总之,结合使用IronZIP和.NET MAUI为跨平台应用程序中的档案的创建、读取和提取提供了强大的解决方案。

提供的示例演示了如何在.NET MAUI中使用IronZIP选择多个文件、生成zip档案以及从zip档案中提取文件。

这些技术的结合为开发人员提供了在各种平台上管理和操作档案的无缝体验。

有关更详细的信息和代码示例,请访问此文档页面。

IronZIP提供免费试用。 您可以从这里下载库并试用。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户