Passer au contenu du pied de page
UTILISER IRONZIP

SDK d'Extraction de Données .NET MAUI avec IronZIP

.NET MAUI, ou .NET Multi-platform App UI, est un framework pour concevoir des applications multiplateformes. Il permet aux développeurs de créer des applications avec une seule base de code qui s'exécute sur Windows, macOS, iOS, Android et autres appareils. Similaire à React Native, mais il utilise C# au lieu de JavaScript.

.NET MAUI permet aux développeurs C# de construire des applications mobiles et de bureau sans tracas depuis un environnement unique. Microsoft .NET MAUI fournit une documentation complète et des ressources pour aider les développeurs à rationaliser et optimiser le processus de développement d'applications.

Dans cet article, nous explorerons l'intégration d'IronZIP, une puissante bibliothèque d'archives ZIP C#, avec .NET MAUI à des fins d'extraction de données.

Comment extraire des données des archives Zip

  1. Créer un projet Visual Studio .NET MAUI
  2. Installer la bibliothèque Zip C# en utilisant NuGet
  3. Concevoir l'interface de l'application d'extraction de données
  4. Implémenter les méthodes Créer Zip et Extraire Zip
  5. Lancer l'application et vérifier les résultats

Introduction à IronZIP

IronZIP est une bibliothèque C# ZIP complète conçue pour créer, lire et extraire des archives dans .NET. Il prend en charge une large gamme de formats d'archives, y compris ZIP, TAR, GZIP et BZIP2. IronZIP est compatible avec différentes versions de .NET, telles que .NET 7, 6, 5, Core, Standard et Framework.

Il est multiplateforme, ce qui le rend adapté aux applications C#, F# et VB.NET fonctionnant sur Windows, Linux, Mac, iOS, Android, Docker, Azure et AWS.

Les caractéristiques principales d'IronZIP incluent :

  • Support multiplateforme pour divers systèmes d'exploitation.
  • Compatibilité avec différentes versions de .NET et types de projets.
  • Support pour créer, lire et extraire des archives ZIP, TAR, GZIP, et BZIP2.
  • Intégration avec .NET MAUI pour construire des applications multiplateformes.

Prérequis

Avant de commencer, assurez-vous d'avoir les prérequis suivants :

  1. Visual Studio avec la charge de travail .NET MAUI installée.
  2. Bibliothèque IronZIP ajoutée à votre projet .NET MAUI.

Étapes pour créer une application .NET MAUI dans Visual Studio

  1. Ouvrez Visual Studio et cliquez sur " Créer un nouveau projet ".
  2. Sélectionnez le modèle de projet .NET MAUI App et cliquez sur Suivant.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 1

  1. Configurez les paramètres du projet, le nom du projet et l'emplacement. Cliquez sur Suivant.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 2

  1. Dans les informations supplémentaires, sélectionnez le bon .NET Framework. IronZIP prend en charge la dernière version de .NET Framework, vous pouvez donc choisir celle-ci.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 3

  1. Cliquez sur Créer pour créer l'application .NET MAUI pour l'extraction de données Zip en utilisant la bibliothèque IronZIP.

Installer IronZIP

Pour intégrer IronZIP dans votre projet .NET MAUI, suivez ces étapes :

  1. Ouvrez l'Explorateur de solutions depuis Affichage.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 4

  1. Faites un clic droit sur votre projet dans l'Explorateur de solutions.
  2. Sélectionnez " Gérer les packages NuGet pour la solution ".

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 5

  1. Dans l'onglet de recherche NuGet, cherchez "IronZIP" et installez le package pour votre projet.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 6

  1. Dans la boîte de dialogue Preview Changes, cliquez sur " Appliquer " pour apporter les modifications, puis " Accepter " pour accepter la licence IronZIP.
  2. NuGet terminera l'installation et un message de confirmation apparaîtra.

Maintenant que tout est installé et configuré, passons à la tâche d'extraction de données pour créer un extracteur de Zip dans .NET MAUI.

Étapes pour créer un extracteur de Zip

Étape 1 : Concevoir l'interface de l'application

Dans cette section, nous nous concentrerons sur la conception de l'interface utilisateur de votre application .NET MAUI. Ouvrez le fichier MainPage.xaml dans le dossier de votre projet et ajoutez le code XAML nécessaire pour créer une interface conviviale.

Ici, nous aurons besoin de deux boutons, un pour créer des fichiers zip et un second pour extraire des fichiers zip. Quelques étiquettes sont également nécessaires pour fournir des messages appropriés. L'exemple de code suivant montre le code XAML de la conception :

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

Exécutez l'application, et vous verrez le résultat sous forme de formulaires Windows réguliers à l'écran.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 7

Étape 2 : Implémenter le code

1. Créer un Zip

Ouvrez le fichier MainPage.xaml.cs et créez la fonctionnalité "Créer un Zip". Implémentez la méthode OnSelectFilesButtonClicked pour permettre l'ouverture du Sélecteur de fichiers et la sélection de plusieurs fichiers de n'importe quel type pour créer un fichier zip.

Ensuite, créez une liste de tous les chemins à partir des fichiers sélectionnés. Enfin, passez à la méthode CreateZip, où IronZIP créera un fichier zip en utilisant tous les chemins de fichiers de manière transparente en une seconde.

L'exemple de code suivant montre comment accomplir cette tâche.

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}");
    }
}
Private Async Sub OnSelectFilesButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	Try
		Dim status = Await Permissions.RequestAsync(Of Permissions.StorageRead)()
		If status <> PermissionStatus.Granted Then
			Await DisplayAlert("Alert!", "Storage Access Denied", "Ok")
			Return
		End If
		' Select multiple files of any type
		Dim results = Await FilePicker.PickMultipleAsync()
		If results IsNot Nothing Then
			Dim selectedFilePaths = New List(Of String)()
			For Each file In results
				' Add file full path to the list one by one
				selectedFilePaths.Add(file.FullPath)
			Next file
			CreateZip(selectedFilePaths)
		End If
	Catch ex As Exception
		Console.WriteLine($"Error: {ex.Message}")
	End Try
End Sub
$vbLabelText   $csharpLabel

Ensuite, implémentez la méthode CreateZip. La classe IronArchive de IronZIP prend le chemin où le fichier zip doit être créé. En parcourant chaque chemin de fichier sélectionné, ils sont ajoutés au fichier zip par la méthode Add.

Lorsque les fichiers sont ajoutés, un message de confirmation est affiché à l'aide de 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");
}
Private Async Sub CreateZip(ByVal selectedFilePaths As List(Of String))
	Dim path = "E:\output.zip"
	' Create a Zip
	Using archive = New IronArchive(path)
		' Add files to the ZIP
		For Each file In selectedFilePaths
			archive.Add(file)
		Next file
	End Using
	Await DisplayAlert("Congratulations", "All files added to " & path, "Ok")
End Sub
$vbLabelText   $csharpLabel

Pour plus d'informations détaillées sur la création, l'ajout de fichiers à un zip existant, et l'extraction d'un zip, veuillez visiter cette page tutoriel.

2. Extraire un Zip

Nous allons maintenant créer la fonctionnalité "Extraire un Zip". Encore une fois, dans le fichier MainPage.xaml.cs, implémentez la méthode OnSelectFileButtonClicked pour permettre l'ouverture du Sélecteur de fichiers et la sélection d'un fichier zip unique pour l'extraction.

Le chemin complet du fichier sélectionné est défini dans une variable de type chaîne et envoyé à la méthode ExtractZip, où IronZIP effectue l'extraction. Le code se présente comme suit :

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}");
    }
}
Private Async Sub OnSelectFileButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	Try
		Dim status = Await Permissions.RequestAsync(Of Permissions.StorageRead)()
		If status <> PermissionStatus.Granted Then
			Await DisplayAlert("Alert!", "Storage Access Denied", "Ok")
			Return
		End If
		' Select a single file of any type
		Dim result = Await FilePicker.PickAsync()
		If result IsNot Nothing Then
			' Add File Full Path to the list one by one
			Dim selectedFile = result.FullPath
			ExtractZip(selectedFile)
		End If
	Catch ex As Exception
		Console.WriteLine($"Error: {ex.Message}")
	End Try
End Sub
$vbLabelText   $csharpLabel

Ensuite, créez la méthode ExtractZip. Dans cette méthode, définissez le chemin du dossier de sortie dans lequel vous souhaitez extraire les fichiers.

En utilisant la méthode ExtractArchiveToDirectory de IronZIP, passez le chemin du fichier sélectionné et le chemin de sortie. Cette méthode convertit et transfère de manière transparente tous les fichiers de l'archive zip vers le dossier de sortie. Enfin, un message de confirmation est affiché lors d'une extraction réussie.

Le code se présente comme suit :

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");
}
Private Async Sub ExtractZip(ByVal selectedFilePath As String)
	Dim path = "E:\Extracted Files"
	IronArchive.ExtractArchiveToDirectory(selectedFilePath, path)
	Await DisplayAlert("Congratulations", "All files extracted to " & path, "Ok")
End Sub
$vbLabelText   $csharpLabel

Étape 3 : Exécuter l'application

Après avoir intégré avec succès le code avec IronZIP, compilez et exécutez l'application pour réaliser des tâches d'extraction de données. Testez la fonctionnalité en créant un fichier zip et en extrayant des fichiers à partir d'un fichier zip.

Vérifiez les résultats en vérifiant la sortie et les fichiers extraits dans les répertoires spécifiés.

Étape 4 : Vérifier les résultats

1. Tester la création de Zip

Essayons d'abord de créer un fichier zip. Cliquez sur le bouton Créer un Zip, et une boîte de dialogue de fichier apparaîtra. Vous pouvez choisir un ou plusieurs fichiers à ajouter au zip.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 8

Cliquez sur Ouvrir, et un message de confirmation apparaîtra indiquant que les fichiers ont été ajoutés avec succès à output.zip.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 9

Si nous naviguons vers le fichier output.zip et visualisons son contenu, nous verrons tous les fichiers que nous avons ajoutés.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 10

2. Tester l'extraction de Zip

Examinons maintenant comment extraire un fichier zip. Cliquez sur le bouton Extraire un Zip, et une boîte de dialogue de fichier apparaîtra. Choisissez un fichier zip que vous souhaitez extraire et cliquez sur ouvrir.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 11

Une fois que la capture des données à partir du fichier zip est terminée et extraite vers le dossier souhaité, un message de confirmation est affiché.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 12

Maintenant, naviguez vers le dossier "Fichiers extraits", et vous verrez les fichiers extraits du zip que nous avons sélectionné.

.NET MAUI Data Extraction SDK (Tutoriel développeur) : Figure 13

Conclusion

En conclusion, l'intégration d'IronZIP avec .NET MAUI offre une solution puissante pour créer, lire et extraire des archives dans des applications multiplateformes.

L'exemple fourni démontre comment utiliser IronZIP pour sélectionner plusieurs fichiers, générer une archive zip et extraire des fichiers d'une archive zip au sein de .NET MAUI.

Cette combinaison de technologies offre aux développeurs une expérience harmonieuse dans la gestion et la manipulation des archives sur diverses plateformes.

Pour plus d'informations détaillées et d'exemples de code, veuillez visiter cette page de documentation.

IronZIP offre un essai gratuit. Vous pouvez télécharger la bibliothèque depuis ici et l'essayer.

Questions Fréquemment Posées

Comment puis-je intégrer une bibliothèque ZIP à un projet .NET MAUI ?

Pour intégrer une bibliothèque ZIP comme IronZIP à un projet .NET MAUI, créez un nouveau projet .NET MAUI dans Visual Studio, installez la bibliothèque IronZIP via NuGet, et implémentez les fonctionnalités des archives ZIP en utilisant des exemples de code fournis.

Quels sont les avantages d'utiliser une bibliothèque ZIP dans une application .NET MAUI ?

L'utilisation d'une bibliothèque ZIP comme IronZIP dans une application .NET MAUI permet une compression et une extraction de données efficaces, prend en charge plusieurs formats d'archives, et est compatible sur diverses plateformes et versions de .NET.

Puis-je utiliser une bibliothèque ZIP pour des applications multiplateformes ?

Oui, vous pouvez utiliser IronZIP pour des applications multiplateformes. Il prend en charge les applications C#, F#, et VB.NET sur Windows, Linux, Mac, iOS, et Android.

Comment créer un fichier ZIP dans une application .NET MAUI ?

Dans une application .NET MAUI, vous pouvez créer un fichier ZIP en utilisant la bibliothèque IronZIP. Implémentez la méthode OnSelectFilesButtonClicked pour permettre la sélection de fichiers, et utilisez la classe IronArchive pour ajouter des fichiers à une archive ZIP avec la méthode CreateZip.

Comment puis-je extraire des fichiers d'une archive ZIP dans un projet .NET MAUI ?

Pour extraire des fichiers d'une archive ZIP dans un projet .NET MAUI, utilisez la méthode ExtractArchiveToDirectory de IronZIP. Tout d'abord, implémentez la méthode OnSelectFileButtonClicked pour sélectionner un fichier ZIP, puis extrayez son contenu dans un répertoire spécifié.

Quels formats d'archives IronZIP prend-il en charge ?

IronZIP prend en charge une variété de formats d'archives, notamment ZIP, TAR, GZIP, et BZIP2, ce qui en fait un choix polyvalent pour gérer différents types d'archives de fichiers compressés.

IronZIP est-il compatible avec différentes versions de .NET ?

Oui, IronZIP est compatible avec diverses versions de .NET, telles que .NET 7, 6, 5, Core, Standard, et Framework, offrant de la flexibilité aux développeurs travaillant avec différents environnements .NET.

Quelles sont les conditions préalables à l'implémentation d'une bibliothèque ZIP dans .NET MAUI ?

Pour implémenter une bibliothèque ZIP comme IronZIP dans .NET MAUI, assurez-vous d'avoir Visual Studio avec la charge de travail .NET MAUI installée, et que la bibliothèque IronZIP est ajoutée à votre projet via NuGet.

Comment puis-je améliorer une application .NET MAUI avec des fonctionnalités ZIP ?

Améliorez une application .NET MAUI en intégrant IronZIP pour gérer la création et l'extraction de fichiers ZIP, offrant aux utilisateurs des capacités robustes de compression et de décompression des données.

Où puis-je trouver plus d'informations sur l'utilisation des bibliothèques ZIP dans .NET MAUI ?

Pour plus d'informations détaillées et d'exemples de code, vous pouvez visiter la page de documentation de IronZIP, qui offre des instructions complètes sur l'intégration et l'utilisation des fonctionnalités ZIP dans les projets .NET MAUI.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite