首页 > 代码库 > .Net中的7Zip——Sharpcompress
.Net中的7Zip——Sharpcompress
虽然微软在.net 4.5中集成了对zip的解压支持,但还是比较弱。如果我们想让程序像7zip那样支持万能解压,Sharpcompress可以帮你实现这个目标,它是一个C#写的压缩/解压工具,虽然还没能做得像7Zip那么NB,当支持的格式也是相当多的,如下就是目前的支持情况:
Archive Format | Compression Format(s) | Compress/Decompress | Archive API | Reader API | Writer API |
Rar | Rar | Decompress(1) | RarArchive | RarReader | N/A |
Zip(2) | None, DEFLATE, BZip2, LZMA/LZMA2, PPMd | Both | ZipArchive | ZipReader | ZipWriter |
Tar | None, BZip2, GZip | Both | TarArchive | TarReader | TarWriter(3) |
GZip (single file) | GZip | Both | GZipArchive | GZipReader | GZipWriter |
7Zip(4) | LZMA, LZMA2, BZip2, PPMd, BCJ, BCJ2 | Decompress | SevenZipArchive | N/A | N/A |
(1) SOLID Rars are only supported in the RarReader API.
(2) Zip format supports pkware and WinzipAES encryption. However, encrypted LZMA is not supported.
(3) The Tar format requires a file size in the header. If no size is specified to the TarWriter and the stream is not seekable, then an exception will be thrown.
(4) The 7Zip format doesn‘t allow for reading as a forward-only stream so 7Zip is only supported through the Archive API
并且这个库是一个portable的,.NET/Mono/Silverlight/WP7等框架都可以用,还等什么,赶紧安装吧:
PM> Install-Package sharpcompress
并且它也在NUGET上提供了一些范例:
PM> Install-Package p3-sharpcompress
如果要更详细的了解它,可以参看它的项目主页:
- CodePlex:https://sharpcompress.codeplex.com/
- GitHub:https://github.com/adamhathcock/sharpcompress
.Net中的7Zip——Sharpcompress