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.