USANDO O IRONZIP

SDK de extração de dados .NET MAUI com IronZIP

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

.NET MAUI, ou .NET Multi-platform App UI, é um framework para construir aplicações multiplataforma. Permite que desenvolvedores criem aplicações com uma única base de código que roda em Windows, macOS, iOS, Android e outros dispositivos. Semelhante ao React Native, mas usa C# ao invés de JavaScript.

.NET MAUI permite que desenvolvedores C# construam aplicações móveis e de desktop sem complicações a partir de um único ambiente. Microsoft .NET MAUI fornece documentação abrangente e recursos para ajudar os desenvolvedores a otimizar o processo de desenvolvimento de aplicações.

Neste artigo, exploraremos a integração do IronZIP, uma poderosa biblioteca C# para criação de arquivos ZIP, com o .NET MAUI para fins de extração de dados.

Como Extrair Dados de Arquivos Zip

  1. Crie um Projeto Visual Studio .NET MAUI
  2. Instale a Biblioteca Zip de C# usando NuGet
  3. Projete a Interface do Aplicativo de Extração de Dados
  4. Implemente os Métodos Criar Zip e Extrair Zip
  5. Execute a aplicação e verifique os resultados

Introdução ao IronZIP

IronZIP é uma biblioteca C# abrangente de arquivos ZIP projetada para criar, ler e extrair arquivos no .NET. Suporta uma ampla gama de formatos de arquivo, incluindo ZIP, TAR, GZIP e BZIP2. IronZIP é compatível com várias versões do .NET, como .NET 7, 6, 5, Core, Standard e Framework.

É multiplataforma, o que a torna adequada para aplicações C#, F# e VB.NET executando em Windows, Linux, Mac, iOS, Android, Docker, Azure, e AWS.

Principais características do IronZIP incluem:

  • Suporte multiplataforma para vários sistemas operacionais.
  • Compatibilidade com diferentes versões do .NET e tipos de projetos.
  • Suporte para criar, ler e extrair arquivos ZIP, TAR, GZIP e BZIP2.
  • Integração com .NET MAUI para construir aplicações multiplataforma.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes pré-requisitos:

  1. Visual Studio com o trabalho do .NET MAUI instalado.
  2. Biblioteca IronZIP adicionada ao seu projeto .NET MAUI.

Passos para Criar Aplicações .NET MAUI no Visual Studio

  1. Abra o Visual Studio e clique em "Criar um Novo Projeto".
  2. Selecione o modelo de projeto .NET MAUI App e clique em Avançar.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 1

  1. Configure as Configurações do Projeto, Nome do Projeto e Localização. Clique em Avançar.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 2

  1. Na Informação Adicional, selecione o .NET Framework apropriado. IronZIP suporta a última versão do .NET Framework para que você possa escolher essa.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 3

  1. Clique em Criar para criar o App .NET MAUI para Extração de Dados Zip usando a biblioteca IronZIP.

Instalar IronZIP

Para integrar o IronZIP ao seu projeto .NET MAUI, siga estes passos:

  1. Abra o Solution Explorer em Exibir.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 4

  1. Clique com o botão direito do mouse no seu projeto no Solution Explorer.
  2. Selecione "Gerenciar Pacotes NuGet para Solução".

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 5

  1. Na aba de navegação do NuGet, busque por "IronZIP" e instale o pacote para o seu projeto.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 6

  1. Na caixa de diálogo de Pré-visualização de Alterações, clique em "Aplicar" para efetuar as alterações e, em seguida, clique em "Aceitar" para aceitar a Licença do IronZIP.
  2. O NuGet concluirá a Instalação e uma mensagem de confirmação aparecerá.

Agora, com tudo instalado e configurado, vamos nos mover para a tarefa de extração de dados de criar um Extrator de Zip no .NET MAUI.

Passos para Criar um Extrator de Zip

Passo 1: Projetar a Interface do Aplicativo

Nesta seção, focaremos em projetar a interface do usuário do seu aplicativo .NET MAUI. Abra o arquivo MainPage.xaml na pasta do seu projeto e adicione o código XAML necessário para criar uma interface amigável ao usuário.

Aqui, precisaremos de dois botões, um para criar arquivos zip e outro para extrair arquivos zip. Alguns rótulos também são necessários para fornecer mensagens apropriadas. O exemplo de código a seguir mostra o código XAML do design:

<?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

Execute o aplicativo, e você verá o resultado como formulários regulares do Windows na tela.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 7

Passo 2: Implementar o Código

1. Criar Zip

Abra o arquivo MainPage.xaml.cs e crie a funcionalidade "Criar Zip". Implemente o método OnSelectFilesButtonClicked para permitir a abertura do FilePicker e selecionar múltiplos arquivos de qualquer tipo para criar um arquivo zip.

Em seguida, crie uma lista de todos os caminhos dos arquivos selecionados. Finalmente, passe isso para o método CreateZip, no qual o IronZIP criará um arquivo zip usando todos os caminhos dos arquivos perfeitamente em um segundo.

O exemplo de código a seguir mostra como realizar esta tarefa.

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

Em seguida, implemente o método CreateZip. A classe IronArchive do IronZIP recebe o caminho onde o arquivo zip deve ser criado. Percorrendo cada caminho de arquivo selecionado, eles são adicionados ao arquivo zip pelo método Add.

Quando os arquivos são adicionados, uma mensagem de confirmação é exibida usando 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");
}

Para mais informações detalhadas sobre como criar, adicionar arquivos a um zip existente e extrair um zip, por favor visite esta página de tutorial.

2. Extrair Zip

Agora, vamos criar a funcionalidade "Extrair Zip". Novamente, no arquivo MainPage.xaml.cs, implemente o método OnSelectFileButtonClicked para permitir a abertura do FilePicker e a seleção de um único arquivo zip para extração.

O caminho completo do arquivo selecionado é definido para uma variável string e enviado para o método ExtractZip, onde o IronZIP realiza a extração. O código é o seguinte:

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

Em seguida, crie o método ExtractZip. Neste método, defina o caminho para a pasta de saída onde você deseja extrair os arquivos.

Usando o método ExtractArchiveToDirectory do IronZIP, passe o caminho do arquivo selecionado e o caminho de saída. Este método converte e transfere suavemente todos os arquivos no zip para a pasta de saída. Finalmente, uma mensagem de confirmação é exibida em caso de extração bem-sucedida.

O código é o seguinte:

private async void ExtractZip(string selectedFilePath)
{
    var path = "E:\\Extracted Files";
    IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
    await DisplayAlert("Congratulations", "All files extracted to " + path, "Ok");
}

Passo 3: Executar Aplicação

Após integrar com sucesso o código juntamente com o IronZIP, compile e execute a aplicação para realizar tarefas de extração de dados. Teste a funcionalidade criando um arquivo zip e extraindo arquivos de um arquivo zip.

Verifique os resultados verificando a saída e os arquivos extraídos nos diretórios especificados.

Passo 4: Verificar Resultados

1. Testando Criar Zip

Vamos primeiro tentar criar um arquivo zip. Clique no botão Criar Zip, e será apresentado a você um diálogo de arquivo. Você pode escolher vários ou um único arquivo para adicionar ao zip.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 8

Clique em Abrir, e uma mensagem de confirmação aparecerá informando que os arquivos foram adicionados com sucesso ao output.zip.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 9

Se navegarmos até o arquivo output.zip e visualizarmos seu conteúdo, veremos todos os arquivos que adicionamos.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 10

2. Testando Extrair Zip

Vamos agora extrair um arquivo zip. Clique no botão Extrair Zip e um diálogo de arquivo aparecerá. Escolha um arquivo zip que você deseja extrair e clique em abrir.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 11

Quando a captura de dados do arquivo zip for concluída e extraída para a pasta desejada, exibirá a mensagem de confirmação.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 12

Agora, navegue até a pasta "Arquivos Extraídos" e você verá os arquivos extraídos do zip que escolhemos.

.NET MAUI Data Extraction SDK (Tutorial do Desenvolvedor): Figura 13

Conclusão

Em conclusão, integrar o IronZIP com o .NET MAUI oferece uma solução poderosa para criar, ler e extrair arquivos em aplicações multiplataforma.

O exemplo fornecido demonstra como usar o IronZIP para selecionar múltiplos arquivos, gerar um arquivo zip e extrair arquivos de um arquivo zip dentro do .NET MAUI.

Esta combinação de tecnologias oferece aos desenvolvedores uma experiência perfeita em gerenciar e manipular arquivos em várias plataformas.

Para mais informações detalhadas e exemplos de código, por favor visite esta página de documentação.

O IronZIP oferece uma avaliação gratuita. Você pode baixar a biblioteca de aqui e experimentá-la.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

Leia mais

Artigos relacionados