Convertir RAR en ZIP en C#

La conversion de fichiers RAR au format ZIP est une exigence courante lors du traitement d’archives compressées. Le format ZIP est largement pris en charge sur diverses plates-formes, ce qui en fait un choix plus polyvalent pour le partage et le stockage. Dans cet article de blog, nous allons découvrir une solution utilisant C# pour convertir des archives RAR au format ZIP.

Pourquoi convertir RAR en ZIP ?

Il existe plusieurs raisons de convertir des fichiers RAR en ZIP :

  • Compatibilité multiplateforme : ZIP est pris en charge sur davantage de systèmes et de plates-formes par rapport à RAR.

  • Prise en charge native : de nombreux systèmes d’exploitation, comme Windows et macOS, peuvent extraire nativement des fichiers ZIP sans avoir besoin de logiciel tiers.

  • Efficacité de compression : la compression ZIP est efficace et offre un équilibre entre la taille du fichier et la vitesse.

Passons maintenant à l’installation, au guide étape par étape et à l’exemple de code.

Convertisseur d’archives RAR en ZIP - Configuration de l’API C#

Vous pouvez convertir les formats d’archive compressés de votre côté en installant Conholdate.Total pour .NET avec la commande d’installation suivante dans la console du gestionnaire de packages NuGet :

PM> NuGet\Install-Package Conholdate.Total

Convertir RAR en ZIP en C#

Pour y parvenir, nous utiliserons la bibliothèque Aspose.Zip, qui fait partie de la suite Conholdate.Total pour .NET. Vous trouverez ci-dessous une description étape par étape de la conversion d’un fichier RAR en fichier ZIP :

  • Initialiser une archive ZIP : nous commençons par créer un nouvel objet Aspose.Zip.Archive qui représentera le fichier ZIP.
  • Ouvrez et extrayez le fichier RAR : chargez le fichier RAR à l’aide d’Aspose.Zip.Rar.RarArchive et extrayez chaque entrée. Les fichiers et les répertoires de l’archive RAR sont traités séparément.
  • Ajouter des entrées à l’archive ZIP : pour chaque entrée (fichier ou répertoire) du fichier RAR, nous l’ajoutons à l’archive ZIP. Les fichiers sont écrits sous forme d’entrées ZIP, tandis que les répertoires sont créés sous forme d’entrées vides.
  • Enregistrer le fichier ZIP : une fois toutes les entrées ajoutées, enregistrez l’archive ZIP à l’emplacement de sortie souhaité.

L’extrait de code suivant montre comment convertir RAR en ZIP en C# :

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.rar"))
    {
       for (int i = 0; i < rar.Entries.Count; i++)
        {
            if (!rar.Entries[i].IsDirectory)
            {
                var ms = new MemoryStream();
                rar.Entries[i].Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                zip.CreateEntry(rar.Entries[i].Name, ms);
            }
            else
                zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
        }
    }

    zip.Save("output.zip");
}

Licence d’évaluation gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer cette fonctionnalité et bien d’autres pour manipuler ou convertir les fichiers d’archive compressés dans votre environnement.

Conclusion

Convertir un fichier RAR en fichier ZIP en C# nécessite juste quelques appels de méthode sans se soucier des détails mineurs ou de la structure des formats de fichiers compressés. En suivant cette approche, vous pouvez facilement extraire des fichiers d’une archive RAR et les compresser dans un format ZIP. Cela garantit que vos fichiers sont plus compatibles et accessibles sur différentes plates-formes. Si vous souhaitez discuter de vos questions, veuillez nous écrire à forum.

FAQ

La structure du répertoire est-elle préservée lors de la conversion ?

Oui, le code préserve la structure du répertoire du fichier RAR lors de l’ajout d’entrées à l’archive ZIP.

Ai-je besoin d’un logiciel tiers pour extraire les fichiers ZIP ?

Non, les fichiers ZIP peuvent être extraits nativement sur la plupart des plateformes, y compris Windows et macOS.

Puis-je protéger le fichier ZIP par mot de passe ?

Oui, Aspose.ZIP permet le cryptage et la protection par mot de passe lors de la création d’archives ZIP.

Voir aussi