#ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET framework. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
SharpZipLib was originally ported from the GNU Classpath java.util.zip library for use with SharpDevelop, which needed gzip/zip compression. bzip2 compression and tar archiving were added later due to popular demand.
There is a web site from which You can download the assembly and/or the source code (http://icsharpcode.net/OpenSource/SharpZipLib). A forum is also available at http://community.sharpdevelop.net/forums/12/ShowForum.aspx.
Please see the #ziplib homepage for precompiled downloads, license information, link to the forum (support), release history, samples and more.
This software is released under the GNU General Public License, version 2 with an exception which allows linking with non GPL programs. The exception to the GPL is as follows:
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
There are multiple ways to build this library, however the library build is tested with the following methods:
This builds SharpZipLib on Windows useing Visual Studio 2013 and Visual Studio 2015
This builds SharpZipLib on Linux with Mono 2.10.8, 3.12.1, and the latest version available
Module | Namespace |
---|---|
BZip2 implementation | ICSharpCode.SharpZipLib.BZip2.* |
Checksum implementation | ICSharpCode.SharpZipLib.Checksums.* |
Core utilities / interfaces | ICSharpCode.SharpZipLib.Core.* |
Encryption implementation | ICSharpCode.SharpZipLib.Encryption.* |
GZip implementation | ICSharpCode.SharpZipLib.GZip.* |
Tar implementation | ICSharpCode.SharpZipLib.Tar.* |
ZIP implementation | ICSharpCode.SharpZipLib.Zip.* |
Inflater/Deflater | ICSharpCode.SharpZipLib.Zip.Compression.* |
Inflater/Deflater streams | ICSharpCode.SharpZipLib.Zip.Compression.Streams.* |
#ziplib was initially been developed by Mike Krueger, however, much existing Java code helped a lot in speeding the creation of this library. Therefore credits fly out to other people.
The current maintainer of #ziplib is David Pierson. Please contact him regarding features, bugs etc via the forum.
Zip/Gzip implementation:
A Java version of the zlib which was originally created by the Free Software Foundation (FSF). So all credits should go to the FSF and the authors who have worked on this piece of code.
Without the zlib authors the Java zlib wouldn't be possible: Jean-loup Gailly, Mark Adler, and contributors of zlib.
Julian R Seward for the bzip2 implementation, and the Java port by Keiron Liddle of Aftex Software.
Credits for the tar implementation fly out to : Timothy Gerard Endres
Special thanks to Christoph Wille for beta testing, suggestions, the setup of the web site, and for his tireless efforts at cat herding.