32 votes

Existe-t-il une bibliothèque zip intégrée dans .NET 3.5 ?

Existe-t-il une bibliothèque zip intégrée dans .NET 3.5 ?

Si ce n'est pas le cas, quelles sont les bibliothèques .net zip open source les plus populaires.

32voto

Jon Skeet Points 692016

EDIT: Voir la note dans les commentaires - SharpZipLib est maintenant laissés à l'abandon, et vous voulez probablement pour l'éviter.

Open source: #ZipLib

Je crois que les classes de l' System.IO.Compression de l'espace de noms sont très bien pour compresser/décompresser un seul flux de données, mais il n'y a rien construit dans le cadre de composer avec le réel des fichiers zip.

EDIT: Comme indiqué dans les Fourmis de réponse, il y a Système.IO.De l'emballage.ZipPackage mais il semble que c'est vraiment conçu pour une utilisation dans WPF, et ne serait pas très pratique à utiliser pour le général de fichier zip de la manipulation. Intéressant de regarder dans si. Je n'étais pas au courant de cela avant que... certainement la peine d'enquêter.

24voto

Cheeso Points 87022

Il n'y a pas de bibliothèque intégrée. Il existe des options open source.

DotNetZip en est un. Simple, facile à utiliser. Il a de bonnes fonctionnalités: cryptage AES, cryptage régulier, flux, ZIP64, commentaires de fichiers, Unicode, événements de progression, etc. Et c'est gratuit et open source.

Voici un exemple de code.

     // extract all Photoshop files larger than 100mb
    using (ZipFile zip1 = ZipFile.Read(ZipFileName))
    {
        var LargePhotoShopFiles = zip1.SelectEntries("name = *.psd  and size > 100mb");
        foreach (ZipEntry e in LargePhotoShopFiles)
        {
            if (e.UsesEncryption)
                e.ExtractWithPassword("unpackDirectory", "VerySecret!");
            else 
                e.Extract("unpackDirectory");
        }
    }
 

10voto

Ants Points 1997

Consultez la classe System.IO.Packaging.ZipPackage.

6voto

Oscar Cabrero Points 2922

7Zip vous aidera et sera disponible en plusieurs langues

4voto

Paul Rowland Points 4045

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X