Ir para o conteúdo do rodapé
USANDO O IRONZIP

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

.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 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}");
    }
}
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}");
    }
}
$vbLabelText   $csharpLabel

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

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

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");
}
private async void ExtractZip(string selectedFilePath)
{
    var path = "E:\\Extracted Files";
    IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
    await DisplayAlert("Congratulations", "All files extracted to " + path, "Ok");
}
$vbLabelText   $csharpLabel

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.

Perguntas frequentes

Como posso integrar uma biblioteca ZIP a um projeto .NET MAUI?

Para integrar uma biblioteca ZIP como o IronZIP a um projeto .NET MAUI, crie um novo projeto .NET MAUI no Visual Studio, instale a biblioteca IronZIP via NuGet e implemente as funcionalidades de arquivamento ZIP usando os exemplos de código fornecidos.

Quais são os benefícios de usar uma biblioteca ZIP em um aplicativo .NET MAUI?

Utilizar uma biblioteca ZIP como o IronZIP em uma aplicação .NET MAUI permite a compressão e extração eficientes de dados, suporta múltiplos formatos de arquivo e é compatível com diversas plataformas e versões do .NET.

Posso usar uma biblioteca ZIP para aplicativos multiplataforma?

Sim, você pode usar o IronZIP para aplicativos multiplataforma. Ele oferece suporte a aplicativos C#, F# e VB.NET no Windows, Linux, Mac, iOS e Android.

Como faço para criar um arquivo ZIP em um aplicativo .NET MAUI?

Em uma aplicação .NET MAUI, você pode criar um arquivo ZIP usando a biblioteca IronZIP. Implemente o método OnSelectFilesButtonClicked para permitir a seleção de arquivos e use a classe IronArchive para adicionar arquivos a um arquivo ZIP com o método CreateZip .

Como posso extrair arquivos de um arquivo ZIP em um projeto .NET MAUI?

Para extrair arquivos de um arquivo ZIP em um projeto .NET MAUI, utilize o método ExtractArchiveToDirectory do IronZIP. Primeiro, implemente o método OnSelectFileButtonClicked para selecionar um arquivo ZIP e, em seguida, extraia seu conteúdo para um diretório especificado.

Quais formatos de arquivo o IronZIP suporta?

O IronZIP suporta uma variedade de formatos de arquivo, incluindo ZIP, TAR, GZIP e BZIP2, tornando-o uma opção versátil para lidar com diferentes tipos de arquivos compactados.

O IronZIP é compatível com diferentes versões do .NET?

Sim, o IronZIP é compatível com várias versões do .NET, como .NET 7, 6, 5, Core, Standard e Framework, oferecendo flexibilidade para desenvolvedores que trabalham com diferentes ambientes .NET.

Quais são os pré-requisitos para implementar uma biblioteca ZIP em .NET MAUI?

Para implementar uma biblioteca ZIP como o IronZIP no .NET MAUI, certifique-se de ter o Visual Studio com a carga de trabalho .NET MAUI instalada e que a biblioteca IronZIP esteja adicionada ao seu projeto via NuGet.

Como posso aprimorar um aplicativo .NET MAUI com funcionalidades ZIP?

Aprimore um aplicativo .NET MAUI integrando o IronZIP para gerenciar a criação e extração de arquivos ZIP, fornecendo aos usuários recursos robustos de compressão e descompressão de dados.

Onde posso encontrar mais informações sobre como usar bibliotecas ZIP no .NET MAUI?

Para obter informações mais detalhadas e exemplos de código, você pode visitar a página de documentação do IronZIP, que oferece orientações completas sobre como integrar e utilizar as funcionalidades ZIP em projetos .NET MAUI.

Curtis Chau
Redator Técnico

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

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me