.NET中zip的壓縮和解壓


      在.NET可以通過多種方式實現zip的壓縮和解壓:1、使用System.IO.Packaging;2、使用第三方類庫;3、通過 System.IO.Compression 命名空間中新增的ZipArchive、ZipFile等類實現。

     一、使用System.IO.Packaging壓縮和解壓

     Package為一個抽象類,可用於將對象組織到定義的物理格式的單個實體中,從而實現可移植性與高效訪問。ZIP 文件是Package的主物理格式。 其他Package實現可以使用其他物理格式(如 XML 文檔、數據庫或 Web 服務。與文件系統類似,在分層組織的文件夾和文件中引用 Package 中包含的項。雖然 Package 是抽象類,但 Package.Open 方法默認使用 ZipPackage 派生類。

    System.IO.Packaging在WindowsBase.dll程序集下,使用時需要添加對WindowsBase的引用。

    1、將整個文件夾壓縮成zip

Code

      2、將單個文件添加到zip文件中

Code

       3、zip文件解壓

Code

      使用Package壓縮文件會在zip文件自動生成[Content_Type].xml,用來描述zip文件解壓支持的文件格式。

Code

 

      同樣,如果zip文件不包含[Content_Type].xml文件,或者[Content_Type].xml文件不包含所對應擴展名的描述(手動添加的[Content_Type].xml也是可以),將無法解壓文件。

      二、使用第三方類庫

      zip的壓縮和解壓使用比較的有SharpZipLibDotNetZip

      1、SharpZipLib,也稱為“#ziplib”,基於GPL開源,支持Zip,GZip,Tar和BZip2的壓縮和解壓縮。

      支持.NET 1.1,NET 2.0(3.5、4.0).

      (1)zip壓縮

Code

       (2)解壓zip

Code

      2、DotNetLib,是基於”WS-PL”開源,使用比較簡單
     (1)壓縮

Code

     (2)解壓

Code

    三、在.NET 4.5使用ZipArchive、ZipFile等類壓縮和解壓

Code


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM