Comment compresser ou extraire des archives en utilisant C#

Aperçu

Cet article explique comment compresser ou extraire des archives. Ces archives peuvent être au format Zip, 7z, Rar et autres formats similaires. Il couvre les sujets suivants.

Format : ZIP

Format : ZIP - Mot de passe

Format : 7z

Format : RAR

Autres sujets abordés dans cet article.

C# Compresser ou extraire des archives

Cette page montre comment effectuer des opérations d’archivage standard en C# à l’aide de Aspose.ZIP for .NET. Le package Aspose.ZIP peut être ajouté à votre projet .NET à l’aide de la commande NuGet suivante :

1PM> Install-Package Aspose.Zip

Il peut également être ajouté directement au projet .NET en tant que référence d’assembly. La bibliothèque Aspose.ZIP peut être téléchargée depuis notre page d’accueil : https://products.aspose.com/zip/net/.

La bibliothèque Aspose.ZIP .NET peut être utilisée sur n’importe quel système d’exploitation prenant en charge .NET Core (par exemple Windows, Linux ou macOS).

Comment créer des fichiers ZIP en C#

Étapes : Créer un fichier Zip en C#

  1. Créez une instance de la classe Archive.
  2. Ajoutez des fichiers à l’aide de la méthode Archive.CreateEntry.
  3. Compressez les fichiers en utilisant la méthode Archive.Save.
1using (var archive = new Archive())
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

Le constructeur de classe d’archive crée une archive ZIP standard en utilisant l’algorithme de compression Deflate et sans cryptage.

Comment décompresser des fichiers en C#

Étapes : décompresser le fichier dans un dossier en C#

  1. Créez une instance de la classe Archive avec votre fichier zip.
  2. Décompressez le fichier zip à l’aide de la méthode Archive.ExtractToDirectory dans votre dossier.
1using (var archive = new Archive("input_archive.zip"))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

Le constructeur de classe d’archive peut ouvrir n’importe quelle archive ZIP. ArchiveLoadOptions doit être fourni comme deuxième paramètre dans le cas où l’archive d’entrée est protégée par mot de passe (voir l’exemple ci-dessous).

Comment compresser des fichiers 7z en C#

Étapes : Créer des archives 7z en C#

  1. Créez une instance de la classe SevenZipArchive avec SevenZipLZMACompressionSettings.
  2. Ajoutez vos fichiers en appelant la méthode SevenZipArchive.CreateEntries.
  3. Enregistrez-le au format 7z en appelant la méthode SevenZipArchive.Save.
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3	archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4	archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}

Le constructeur de classe SevenZipArchive doit être utilisé pour créer une nouvelle archive 7z. L’exemple ci-dessus utilise la compression LZMA classique, mais d’autres options de compression ainsi que de chiffrement sont également disponibles.

Comment extraire des fichiers 7z en C#

Étapes : Extraire le fichier 7z en C#

  1. Créez une instance de la classe SevenZipArchive avec votre fichier 7z.
  2. Extrayez le contenu du fichier 7z en appelant la méthode SevenZipArchive.ExtractToDirectory.
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

Dans l’exemple ci-dessus, le constructeur de classe SevenZipArchive ouvre une archive 7z non protégée.

Comment extraire des fichiers RAR en C#

Étapes : Extraire le fichier RAR en C#

  1. Créez une instance de la classe RarArchive avec votre RAR file.
  2. Extrayez le contenu du fichier RAR en appelant la méthode RarArchive.ExtractToDirectory.
1using (var archive = new RarArchive("input_archive.rar"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

Dans l’exemple ci-dessus, le constructeur de classe RarArchive ouvre une archive RAR non protégée.

Comment compresser des fichiers avec mot de passe en C#

Étapes : Créer un fichier Zip avec mot de passe en C#

  1. Créez une instance de la classe Archive.
  2. Transmettez-le ArchiveEntrySettings et définissez la propriété encryptionSettings avec l’objet de TraditionalEncryptionSettings ayant votre mot de passe.
  3. Ajoutez autant de fichiers en appelant plusieurs fois la méthode Archive.CreateEntry.
  4. Enregistrez-le en tant que Fichier Zip à l’aide de la méthode Archive.Save.
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

Le paramètre cryptoSettings est utilisé pour créer une archive ZIP protégée par mot de passe.

Comment décompresser des fichiers avec mot de passe en C#

Étapes : Décompressez le fichier Zip protégé par mot de passe à l’aide de C#

  1. Créez une instance de la classe Archive.
  2. Transmettez-lui l’objet ArchiveLoadOptions et définissez la propriété DecryptionPassword avec votre fichier zip password.
  3. Décompressez le fichier zip à l’aide de la méthode Archive.ExtractToDirectory dans votre dossier.
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

La valeur de la propriété ArchiveLoadOptions avec DecryptionPassword est utilisée pour ouvrir une archive ZIP protégée par mot de passe.

Voir aussi

Cet article couvre également ces sujets. Les codes sont les mêmes que ci-dessus.

Format : ZIP

Format : 7z

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.