Dossiers ZIP et décompressés dans .NET

L’API Aspose.ZIP vous permet de compresser et décompresser des fichiers sans vous soucier de la structure des fichiers sous-jacents. Cet article montre l’utilisation de la compression de fichiers uniques ou multiples.

Compression du répertoire

Compression du contenu du répertoire

Étapes : Compresser le contenu du répertoire dans des fichiers ZIP à l’aide de C#

  1. Définissez le répertoire contenant les fichiers à compresser.
  2. Ouvrez deux flux de fichiers pour les fichiers ZIP de sortie à l’aide de FileMode.Create.
  3. Créez une instance de la classe Archive.
  4. Utilisez la méthode CreateEntries pour ajouter tous les fichiers et dossiers du répertoire spécifié à l’archive.
  5. Enregistrez le contenu du répertoire compressé dans plusieurs fichiers ZIP à l’aide de la méthode Save.
 1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
 2    string dataDir = RunExamples.GetDataDir_Data();
 3
 4    using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Create))
 5    {
 6        using (FileStream zipFile2 = File.Open(dataDir + "CompressDirectory2_out.zip", FileMode.Create))
 7        {
 8            using (Archive archive = new Archive())
 9            {
10                DirectoryInfo corpus = new DirectoryInfo(dataDir + "CanterburyCorpus");
11                archive.CreateEntries(corpus);
12                archive.Save(zipFile);
13                archive.Save(zipFile2);
14            }
15        }
16    }

Extraction de l’archive de répertoire compressée

Étapes : Extraction d’une archive de répertoire compressée

  1. Ouvrez le flux de fichiers ZIP à l’aide de FileMode.Open.
  2. Créez une instance de la classe Archive en transmettant le flux du fichier ZIP.
  3. Extrayez le contenu de l’archive compressée dans un répertoire spécifié à l’aide de ExtractToDirectory.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Open))
3    {
4        using (var archive = new Archive(zipFile))
5        {
6            archive.ExtractToDirectory(dataDir + "DecompressFolder_out");
7        }
8    }

Compresser les fichiers par informations sur le fichier

Étapes : Compresser les fichiers par informations de fichier

  1. Ouvrez un flux de fichiers pour le fichier ZIP de sortie à l’aide de FileMode.Create.
  2. Créez des objets FileInfo pour les fichiers que vous souhaitez compresser.
  3. Créez une instance de la classe Archive.
  4. Utilisez la méthode CreateEntry pour ajouter chaque fichier à l’archive.
  5. Enregistrez l’archive à l’aide de la méthode Save, avec des options de sauvegarde facultatives telles que la définition de l’encodage.
 1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
 2    using (FileStream zipFile = File.Open(dataDir + "CompressFilesByFileInfo_out.zip", FileMode.Create))
 3    {
 4        FileInfo fi1 = new FileInfo(dataDir + "alice29.txt");
 5        FileInfo fi2 = new FileInfo(dataDir + "fields.c");
 6
 7        using (var archive = new Archive())
 8        {
 9            archive.CreateEntry("alice29.txt", fi1);
10            archive.CreateEntry("fields.c", fi2);
11            archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
12        }
13    }

Extraire les archives avec différentes archives d’entrée

Étapes : Extraire les archives avec une entrée différente Mots de passe

  1. Ouvrez le flux de fichiers ZIP à l’aide de FileMode.Open.
  2. Créez une instance de la classe Archive en transmettant le flux du fichier ZIP.
  3. Extrayez la première entrée de l’archive, en fournissant un mot de passe spécifique pour cette entrée à l’aide de la méthode Extract.
  4. Extrayez la deuxième entrée avec un mot de passe différent, en l’enregistrant dans un fichier de sortie distinct.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "\\different_password.zip", FileMode.Open))
3    {
4        using (Archive archive = new Archive(zipFile))
5        {
6            archive.Entries[0].Extract(dataDir + "alice29_extracted_pass_out.txt", "first_pass");
7            archive.Entries[1].Extract(dataDir + "asyoulik_extracted_pass_out.txt", "second_pass");
8        }
9    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.