32 Stimmen

Gibt es eine integrierte Zip-Bibliothek in .NET 3.5?

Gibt es eine integrierte Zip-Bibliothek in .NET 3.5?

Wenn nicht, was sind die beliebten Open-Source-.net-Zip-Bibliotheken.

32voto

Jon Skeet Punkte 1325502

EDIT: Siehe Hinweis in den Kommentaren - SharpZipLib wird nicht mehr gewartet, und Sie sollten es wahrscheinlich vermeiden.

Offene Quelle: #ZipLib

Ich glaube, dass die Klassen im System.IO.Compression Namespace sind gut für die Komprimierung/Dekomprimierung eines einzelnen Datenstroms, aber es gibt nichts in den Rahmen eingebaut, um mit tatsächlichen Zip-Dateien zu bewältigen.

EDIT: Wie in Ants' Antwort erwähnt, gibt es System.IO.Packaging.ZipPackage aber es ist sicher siehe wie das ist wirklich für den Einsatz in WPF entwickelt, und wäre nicht furchtbar bequem für die allgemeine Zip-Datei Handhabung zu verwenden. Worth looking in though. Ich war nicht bewusst, es vor aber... auf jeden Fall wert zu untersuchen.

23voto

Cheeso Punkte 184210

Es gibt keine eingebaute Bibliothek. Es gibt Open-Source-Optionen.

DotNetZip ist eins. Einfach, leicht zu bedienen. Sie hat gute Funktionen: AES-Verschlüsselung, reguläre Verschlüsselung, Streams, ZIP64, Dateikommentare, Unicode, Fortschrittsmeldungen und mehr. Und es ist kostenlos und quelloffen.

Hier ist ein Beispielcode.

    // 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 Punkte 2568

Sehen Sie sich die Klasse System.IO.Packaging.ZipPackage an.

6voto

Oscar Cabrero Punkte 4170

7Zip wird helfen und ist in mehreren Sprachen verfügbar

4voto

Paul Rowland Punkte 8154

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X