如何使用C#解壓縮文件?我發現我必須使用第三方庫。有沒有直接的方法?如何使用C#解壓縮壓縮文件?
回答
System.IO.Packaging命名空間包含一些壓縮類,如ZipPackage,但它們絕不像使用第三方庫那麼簡單。我強烈建議你考慮一個第三方庫。
您可以使用該框架的工具來壓縮,然後將其解壓
sinxe .NET 1.x中,你有很多compession圖書館內上了網,有些是免費的一些是商業。 偉大的免費圖書館是#Zip,或免費的C#IDE的開發者#develop。
.NET Framework 2.0引入了用於壓縮和解壓縮流的GZipStream和DeflateStream類。這裏是MSDN鏈接:
http://msdn2.microsoft.com/en-us/library/system.io.compression.gzipstream(VS.80).aspx
http://msdn2.microsoft.com/en-US/library/system.io.compression.deflatestream(VS.80).aspx
對#ZipLib而言+1 ......一直保持着永遠的效果,至今仍在各地使用。好東西... url是http://sharpdevelop.net/OpenSource/SharpZipLib/ – ckramer
我從Codeplex上的自由Iconic Zip有很大的運氣。它非常快速地拉鍊和解壓縮,效果很好,尺寸很小。它也適用於Mono。
對於zip文件,DotNetZip很好用。只需一個程序集即可支持zip文件。
對於gzip文件,你可以在System.IO.Compression namespace,或DotNetZip使用流。請注意,如果您有*.tar.gz
或*.tgz
文件,則您需要的內容也可以是tar(1)或tar(5)。
對於zlib壓縮數據,DotNetZip再次是你的朋友。 zlib使用Deflate算法。不過,我不確定zlib 6和System.IO.Compression.DeflateStream是否可以兼容。
還有其他的庫支持這些壓縮格式,但我相信其中很多都是非託管代碼的包裝。這是好事還是壞事取決於你的要求。
DotNetZip是純粹的託管代碼。我的測試表明它的執行速度與Info-Zip's open-source zip/unzip的執行速度大致相同。生成的壓縮文件不是字節相同的,但它們是兼容的並且具有大致相同的壓縮比率。
.NET 4.5有一個更有用的ZipPackage類
http://msdn.microsoft.com/en-us/library/system.io.packaging.zippackage.aspx
它仍然不是真正好用,類文檔中的示例代碼是相當長的。
- 1. 解壓縮(解壓縮)由.net壓縮(解壓縮)的文件.net system.io.compression.gzipstream
- 2. 如何解壓/解壓縮文件
- 3. 通過C#使用cmd來壓縮和解壓縮文件
- 4. 如何使用命令行解壓縮xip壓縮文件?
- 5. 如何使用rubyzip解壓縮壓縮文件夾
- 6. 如何解壓縮使用fusecompress/lzo壓縮的文件?
- 7. 如何使用c#壓縮消息並使用javascript解壓縮?
- 8. Node.js - 壓縮/解壓縮文件夾
- 9. 壓縮解壓縮的exe文件
- 10. Magick ++壓縮和解壓縮文件
- 11. 在yii中壓縮/解壓縮文件
- 12. 解壓縮.Z文件C
- 13. NSIS:如何解壓7zip壓縮文件
- 14. 使用Java壓縮和解壓縮文件夾和文件
- 15. 使用C解壓縮.gz文件#
- 16. 使用c解壓縮文件#
- 17. 使用C#解壓縮tar/BZ2文件
- 18. 使用C#解壓縮tar文件
- 19. 解壓縮文件
- 20. 解壓縮文件
- 21. 使用Compression.DeflateStream壓縮和解壓縮流
- 22. 在c#中使用zlib壓縮文件時解壓文件
- 23. C#壓縮和JavaScript解壓縮
- 24. 如何解壓縮壓縮的內核
- 25. Asmx Webservice壓縮/解壓縮?
- 26. 無法解壓縮使用BZip2壓縮的文件
- 27. 使用zlib和cPickle將字典壓縮/解壓縮到文件
- 28. GZipStream使用4.5解壓縮壓縮文件4.0
- 29. 解壓縮文件用PHP
- 30. 解壓縮壓縮富文本字段
[推薦一個庫/ API來解壓C#文件](http:// stackoverflow。com/questions/1023476/recommended-a-library-api-to-unzip-file-in-c) – wRAR
不同意投票結束這是基於一個確切的dup,因爲它似乎是一個稍微不同的變化該問題(推薦系統庫vs推薦外部庫),即使答案最終重疊。 – heisenberg
@kekekela非常感謝 – Adham