Introduction
L’API Aspose.ZIP pour .NET permet de créer et de gérer des archives dans vos applications sans avoir besoin d’autres applications tierces. Son implémentation détaillée permet de gérer facilement les archives ZIP.
Cet article décrit la manipulation au format zip uniquement. Aspose.Zip prend en charge de nombreux formats d’archives, ils sont répertoriés ici.
Concepts de base de l’API
L’API Aspose.ZIP conceptualise la fonctionnalité de chaque élément d’une archive comme Entry. Des entrées peuvent être ajoutées, mises à jour ou supprimées d’une archive. L’API simplifie le travail avec une archive et ses entrées. Cette section donne une idée des différentes classes et méthodes exposées par l’API et de leur utilisation.
Travailler avec les archives
Création d’archives
Une archive peut être créée à l’aide de la classe Archive exposée par l’API. Une archive de base peut être créée à l’aide de cette classe, comme indiqué dans l’exemple de code suivant.
1var archive = nouvelle archive ();
Une telle archive est préparée pour la compression.
Création d’archives avec compression personnalisée
Les archives peuvent être créées avec des paramètres supplémentaires spécifiant des techniques de compression personnalisées.
1 var archive = new Archive(new ArchiveEntrySettings(new CompressionSettings(CompressionMethod.Store), new AesEcryptionSettings("p@s$", EncryptionMethod.AES256)));
Sauvegarde des archives
Les archives peuvent être enregistrées dans le système de fichiers du disque ainsi que dans les flux.
1archive.Save (flux, ArchiveSaveOptions saveOptions = null)
2
3archive.Save(filePath, ArchiveSaveOptions saveOptions = null)
Extraction d’archives
Les archives peuvent être extraites en transmettant le flux source ou le chemin vers l’archive constructeur d’extraction.
1FileStream zipFileStream = File.Open("myarchive.zip", FileMode.Open);
2Archive archive = new Archive(zipFileStream);
3
4ou
5
6Archive archive = new Archive("myarchive.zip");
Extraction des archives cryptées
Les archives protégées par mot de passe peuvent être extraites en spécifiant les ArchiveLoadOptions
1Archive archive = new Archive(sourceStream, new ArchiveLoadOptions() { DecryptiptionPassword = "p@s$" });
2
3ou
4
5Archive archive = new Archive("myarchive.zip", new ArchiveLoadOptions() { DecryptiptionPassword = "p@s$" });
Travailler avec les entrées d’archive
Ajout d’entrées aux archives
Des entrées peuvent être ajoutées à une archive à l’aide de la méthode CreateEntry d’Archive. Les surcharges offertes par cette méthode vous permettent de créer des entrées dans une archive à partir d’un chemin de fichier ou d’un flux ainsi que des paramètres de spécification d’entrée d’archive. Les fichiers d’un répertoire peuvent également être ajoutés à une archive spécifiant la recherche récursive dans le répertoire.
1CreateEntry(string name, Stream source, ArchiveEntrySettings newEntriesSettings) - Crée une entrée unique avec le nom donné, la source de données, les paramètres facultatifs de compression et de chiffrement pour l'entrée.
2
3CreateEntry(string name, string path, ArchiveEntrySettings newEntriesSettings) - Crée une entrée unique avec un nom donné et une source de fichier, des paramètres de compression et de cryptage facultatifs pour l'entrée.
4
5CreateEntry(string name, FileInfo fileInfo, ArchiveEntrySettings newEntriesSettings) - Crée une entrée unique avec le nom donné, la source du fichier, les paramètres facultatifs de compression et de cryptage pour l'entrée. Conserve les attributs du fichier NTFS.
6CreateEntry(string name, Stream source, ArchiveEntrySettings newEntriesSettings, FileSystemInfo fileInfo) - Crée une entrée unique avec le nom donné, la source de données, les paramètres de compression et de cryptage pour l'entrée. Conserve les attributs du fichier NTFS et respecte les paramètres facultatifs.