Modifier les fichiers Zip avec Aspose.Zip pour .NET
Introduction
Les fichiers ZIP sont essentiels pour l’organisation et la compression des données, mais comment modifier leur contenu par programmation ? La solution réside dans Aspose.Zip pour .NET, une bibliothèque robuste qui simplifie la manipulation des fichiers ZIP avec C#. Dans ce didacticiel, nous vous guiderons étape par étape dans l’extraction, la suppression et l’ajout d’entrées aux fichiers ZIP.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Bibliothèque Aspose.Zip pour .NET : installez la bibliothèque dans votre projet. Vous pouvez la téléchargerici.
-
Répertoire de documents : créez un répertoire pour stocker vos fichiers zip. Remplacer
"Your Document Directory"
dans le code avec votre chemin réel.
Importer les espaces de noms nécessaires
Commencez par importer les espaces de noms requis :
using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Étape 1 : Ouvrir le fichier ZIP externe
Commencez par ouvrir votre fichier zip principal (zip externe) :
string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
// Procéder à l'identification des entrées zip internes
}
Étape 2 : Identifier les entrées du code postal interne
Ensuite, identifiez et préparez-vous à supprimer tous les fichiers zip internes :
List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();
foreach (ArchiveEntry entry in outer.Entries)
{
if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
{
entriesToDelete.Add(entry);
using (MemoryStream innerCompressed = new MemoryStream())
{
entry.Open().CopyTo(innerCompressed);
// Extraire les entrées internes
using (Archive inner = new Archive(innerCompressed))
{
foreach (ArchiveEntry ie in inner.Entries)
{
namesToInsert.Add(ie.Name);
MemoryStream content = new MemoryStream();
ie.Open().CopyTo(content);
contentToInsert.Add(content);
}
}
}
}
}
Étape 3 : Supprimer les entrées de l’archive interne
Une fois que vous avez rassemblé les entrées dont vous avez besoin, supprimez les entrées zip internes :
foreach (ArchiveEntry e in entriesToDelete)
{
outer.DeleteEntry(e);
}
Étape 4 : ajouter les entrées modifiées au code postal externe
Vous pouvez maintenant ajouter les entrées nouvellement extraites dans votre fichier zip externe :
for (int i = 0; i < namesToInsert.Count; i++)
{
outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}
Étape 5 : Enregistrer le fichier ZIP modifié
Enfin, enregistrez vos modifications dans un nouveau fichier zip :
outer.Save(dataDir + "flatten.zip");
Conclusion
Aspose.Zip pour .NET fournit un moyen simple et puissant de manipuler des fichiers zip par programmation. Ce didacticiel couvre l’extraction, la suppression et l’ajout d’entrées à un fichier zip, illustrant la polyvalence de la bibliothèque. Explorez différents scénarios et améliorez vos compétences en manipulation de fichiers !
FAQ
Puis-je utiliser Aspose.Zip pour .NET avec d’autres langages de programmation ?
Aspose.Zip est principalement conçu pour les applications .NET, mais Aspose propose des bibliothèques similaires pour divers langages de programmation.
Existe-t-il un essai gratuit disponible pour Aspose.Zip pour .NET ?
Oui, un essai gratuit est disponible en téléchargementici.
Comment obtenir de l’aide pour Aspose.Zip pour .NET ?
Visitez leForum Aspose.Zip pour du soutien et des discussions.
Puis-je acheter une licence temporaire pour Aspose.Zip pour .NET ?
Oui, vous pouvez obtenir un permis temporaireici.
Où puis-je trouver la documentation d’Aspose.Zip pour .NET ?
La documentation complète est disponibleici.