回答
沒有內置庫。 有開源選項。
DotNetZip是其中之一。簡單,易於使用。它具有很好的功能:AES加密,常規加密,流,ZIP64,文件註釋,Unicode,進度事件等等。它是免費且開源的。
下面是一些示例代碼。
// 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");
}
}
嘗試System.IO.Compression.DeflateStream
。
編輯:請參閱註釋 - SharpZipLib現在無法維護,您可能想避免它。
開源:#ZipLib
我相信,在System.IO.Compression
命名空間中的類都很好,壓縮/解壓縮數據的單個流,但沒有什麼內置的框架,以應對實際的zip文件。
編輯:正如螞蟻的回答指出,有System.IO.Packaging.ZipPackage但可以肯定的看起來像真的設計用於WPF使用,而不會是非常方便的使用一般的zip文件處理。值得調查。儘管......我還沒有意識到......絕對值得研究。
是真的。 #ZipLib效果很好。 – Inferis 2009-02-26 23:58:05
是不是C#4.0本地支持這個?我以爲我曾經在某個地方讀過。但是我之前使用ZipLib取得了成功。 – 2009-02-27 00:14:38
我不知道.NET 4是否。0會支持這一點 - 我不會感到驚訝。它仍然是一種方式,雖然:) – 2009-02-27 07:32:25
7Zip將有助於其在提供多種語言
退房System.IO.Packaging.ZipPackage類。
我將是第二個建議http://www.7-zip.org/sdk.html LZMA SDK,但它不是ZIP。
- 這是在公共領域
- 它的速度快上解壓
- 它完全管理的實施
- 這比ZIP更好的壓縮/ RAR
- 這是一個非常小的足跡
- 它可以工作作爲流
System.IO.Compression有ZipArchive等級.Net 4.5。
- 1. .Net中是否有內置的URL類?
- 2. .Net中是否有內置的撲克牌庫?
- 3. 工作在內存中的.NET ZIP庫
- 4. C#/ .NET是否有內置的「VersionNumber」類?
- 5. ServiceInstaller是否在.NET 3.5+中過時
- 6. ILNumerics:這是否也在Net Framework 3.5中?
- 7. 是否有可以修復文件的Java zip庫,àla zip -FF?
- 8. 用於.NET 3.5的Moq嘲笑庫是否可以使用mono?
- 9. 是否有.NETCF 3.5 SP1?還是隻有3.5?
- 10. 在.NET中是否有內置的通用類?
- 11. 在.NET中是否有內置的日誌記錄框架?
- 12. 運行.NET 3.5進程時,.NET 4和.NET 3.5之間是否存在差異
- 13. .NET 3.5 - 框架中是否有SOAP解析器
- 14. 是否有可能在.NET 3.5中讀取頁面MetaKeywords?
- 15. 是否有可能在.Net 3.5(C#)中編寫Excel 2003插件
- 16. 從.NET 3.5升級到.NET 4.0:是否存在配置文件中斷更改?
- 17. .NET中是否有任何DECAPTCHA庫?
- 18. SharePoint 2003是否支持.NET 3.5框架?
- 19. NUnit是否可以使用.NET 3.5?
- 20. SAP Connector 3.0是否支持.NET Framework 3.5?
- 21. GalaSoft.MvvmLight是否與.NET 3.5兼容?
- 22. 是否有4.0的AppendAllLines的.NET 3.5等價物?
- 23. 是否可以爲.NET 3.5和.NET 4.5創建單個(可移植的)庫?
- 24. 便攜式類庫是否適用於.net 3.5?
- 25. .NET 3.5安裝程序中是否包含.NET 2.0?
- 26. Python內存中的zip庫
- 27. 其中是microsoft.visualbasic.dll for .net 3.5?
- 28. C#.Net 3.5解壓縮zip文件沒有第三方
- 29. .NET Framework 3.5的位置
- 30. 是否有適用於.NET的Facebook SDK for 3.5?
不,DeflateStream不會做ZIP文件。只是FYI,內置的GZipStream也沒有。另外,這兩個流都可以表現出先前壓縮或不可壓縮數據的異常壓縮行爲。他們實際上可以增加數據的大小。你已經被警告! – Cheeso 2009-03-02 22:12:50