Comment extraire des fichiers RAR en utilisant C#

Comment extraire des fichiers RAR en utilisant C#

Dans ce guide, nous allons couvrir le processus d’extraction de fichiers RAR en utilisant C#. Ce tutoriel comprend les ressources nécessaires pour configurer l’environnement de développement, une liste complète d’étapes qui élabore la logique de programmation, et un code d’exemple exécutable pour décompresser les fichiers RAR.

Avantages de l’extraction de fichiers RAR

  1. Compression :
    • Le format RAR fournit généralement de meilleurs taux de compression par rapport au ZIP.
  2. Archives multi-parties :
    • Les fichiers RAR prennent en charge les archives multi-parties, permettant de diviser de grands ensembles de données en fichiers plus petits.
  3. Informations sur les fichiers :
    • Permet d’accéder à divers détails (taille, date, etc.) sur les fichiers dans l’archive avant l’extraction.

Prérequis : Préparer l’environnement

  1. Configurez Visual Studio ou tout IDE .NET compatible.
  2. Installez Aspose.ZIP à partir du gestionnaire de packages NuGet.

Guide étape par étape pour extraire des fichiers RAR

Étape 1 : Installer Aspose.ZIP

Ajoutez la bibliothèque Aspose.ZIP à votre projet.

Install-Package Aspose.ZIP

Étape 2 : Charger le fichier RAR

Chargez le fichier RAR source en utilisant la classe RarArchive.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Les étapes de traitement suivront ici
}

Étape 3 : Analyser les entrées

Parcourez toutes les entrées de l’archive RAR.

foreach (var entry in rarArchive.Entries)
{
    // D'autres étapes de traitement suivront ici
}

Étape 4 : Créer un FileStream

Créez un FileStream pour chaque entrée afin d’écrire les données extraites.

var file = File.Create(entry.Name);

Étape 5 : Lire les octets de l’entrée

Lisez tous les octets de l’entrée actuelle et enregistrez-les dans le FileStream.

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

Étape 6 : Enregistrer le fichier extrait

Assurez-vous que le FileStream est correctement enregistré et fermé.

file.Close();
file.Dispose();

Exemple de code complet pour extraire des fichiers RAR

Voici un exemple complet démontrant comment extraire des fichiers RAR en C# :

// Charger le fichier RAR
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // Analyser toutes les entrées dans l'archive
    foreach (var entry in rarArchive.Entries)
    {
        // Créer un fichier pour chaque entrée
        var file = File.Create(entry.Name);
        
        // Ouvrir l'entrée de l'archive et enregistrer les données dans le fichier
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // Fermer le flux de fichiers après l'enregistrement
        file.Close();
    }
}

Informations supplémentaires

  • Vous pouvez filtrer les fichiers en fonction de divers critères tels que la taille ou la date avant l’extraction.
  • La bibliothèque Aspose.ZIP prend en charge différents formats d’archives, permettant une manipulation de fichiers polyvalente.

Conclusion

Ce guide a démontré comment extraire des fichiers RAR en C# en utilisant Aspose.ZIP. En suivant les étapes et l’exemple de code décrits, vous pouvez intégrer la fonctionnalité d’extraction RAR dans vos applications sans effort. Pour une exploration plus approfondie, envisagez de consulter des tutoriels sur la compression de fichiers ou l’extraction d’autres formats d’archives.

 Français