Conversion de ZIP en TGZ en C#

Dans cet article de blog, nous allons découvrir comment convertir des fichiers ZIP au format TGZ(tar.gz) à l’aide de C#. La conversion de ZIP en TGZ est une tâche courante, en particulier lorsqu’il s’agit de fichiers compressés pour des systèmes de type Unix. Le didacticiel suivant comprend une explication étape par étape et le code nécessaire pour vous aider à démarrer.

Pourquoi convertir ZIP en TGZ ?

Vous devrez peut-être convertir le format ZIP au format TGZ pour différentes raisons telles que :

  • Compatibilité multiplateforme : les fichiers TGZ sont couramment utilisés sur les systèmes basés sur Unix (Linux, macOS), tandis que les fichiers ZIP sont populaires sur Windows. La conversion de fichiers ZIP en TGZ facilite la gestion des fichiers compressés dans différents environnements.

  • Avantages de la compression : les fichiers TGZ offrent généralement de meilleurs taux de compression que les fichiers ZIP, ce qui permet d’économiser de l’espace de stockage et de réduire les temps de transfert.

  • Automatisation des tâches : en C#, l’automatisation des conversions de formats de fichiers peut permettre d’économiser du temps et des efforts, en particulier dans les applications traitant de grands volumes de données.

Convertisseur ZIP vers TGZ - Configuration de l’API C#

Vous pouvez convertir ZIP en TGZ en installant Conholdate.Total pour .NET en exécutant la commande NuGet suivante dans l’IDE Visual Studio :

PM> NuGet\Install-Package Conholdate.Total

Convertir ZIP en TGZ en C#

Les étapes suivantes montrent comment convertir ZIP en TGZ en C# :

  • Chargement du fichier ZIP : la classe Archive charge le fichier ZIP source contenant les entrées que vous souhaitez convertir au format TGZ.

  • Création d’un TarArchive : Nous créons un objet TarArchive pour commencer à préparer le contenu du fichier TGZ.

  • Traitement des entrées : chaque entrée du fichier ZIP est parcourue. S’il ne s’agit pas d’un répertoire, nous extrayons ses données dans un MemoryStream.

  • Ajout d’entrées à TarArchive : pour chaque entrée valide, la méthode CreateEntry est utilisée pour ajouter le fichier à l’archive tar, ainsi que les données stockées en mémoire.

  • Enregistrement au format TGZ : la méthode SaveGzipped est invoquée pour compresser et enregistrer l’archive tar au format .tar.gz.

L’extrait de code suivant présente la conversion ZIP en TGZ en C# :

using (Archive source = new Archive("source.zip"))
{
    using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                tar.CreateEntry(entry.Name, mem);
            }
        }

        tar.SaveGzipped("result.tar.gz");
    }
}

Licence d’évaluation gratuite

Vous pouvez demander une licence temporaire gratuite pour tester la conversion ZIP sans aucune restriction d’évaluation dans votre environnement.

Conclusion

Convertir un fichier ZIP en TGZ en C# est un processus simple pour traiter des archives compressées. Que vous ayez affaire à un partage de fichiers multiplateforme ou à l’optimisation de la taille des fichiers, ce processus de conversion est très bénéfique. En suivant l’exemple de code fourni, vous pouvez automatiser la conversion de ZIP en TGZ dans vos applications .NET, garantissant ainsi la compatibilité et l’efficacité de la gestion des fichiers compressés. Si vous avez des questions, écrivez-nous à forum.

FAQ

Le format TGZ est-il pris en charge sous Windows ?

Oui, bien que cela soit plus courant sur les systèmes basés sur Unix, les fichiers TGZ peuvent également être extraits et créés sous Windows.

Puis-je inclure des répertoires dans l’archive TGZ ?

Oui, le code peut être modifié pour inclure des répertoires en supprimant la vérification !entry.IsDirectory et en gérant les répertoires en conséquence.

Est-il possible d’automatiser la conversion ZIP en TGZ ?

Oui, le code fourni peut être intégré dans des applications C# plus grandes, permettant des conversions automatisées par lots ou des tâches planifiées.

Voir aussi