在.NET應用程序中使用7-Zip的壓縮/解壓縮功能

在.NET應用程序中使用7-Zip的壓縮/解壓縮功能

作者 Abel Avram譯者 趙劼 發佈於 2008年6月30日 上午3時48分

社區
.NET
主題
工件和工具
標籤
C#,
Code Project,
7-Zip
開發人員Eugene Sichkar在Code Project中發佈了一個使用7-Zip壓縮功能的.NET/C#項目7-Zip是一個用於壓縮/解壓多種文件格式的開源項目。

7-Zip是一個開源的壓縮工具,據7-Zip網站描述,它支持以下類型:

  • 同時支持壓縮/解壓縮的類型:7z, ZIP, GZIP, BZIP2 and TAR
  • 只支持解壓縮的類型:RAR, CAB, ISO, ARJ, LZH, CHM, MSI, WIM, Z, CPIO, RPM, DEB and NSIS

7-Zip目前可以在從Windows 98到Vista的各種版本Windows桌面版本中運行,它向Linux/Unix的移植工作也正在進行中。7-Zip是一個自由軟件,使用GNU LGPL協議,其中的UnRAR模塊則有一些其他約束

開發人員Eugene Sichkar創建了一系列7-Zip動態鏈接庫的C#接口,這樣其他人就可以在.NET應用程序中使用7-Zip的壓縮/解壓縮功能了。據Eugene稱,該項目實現了以下接口:

  • IProgress - 基本進度的回調
  • IArchiveOpenCallback - 打開壓縮包的回調
  • ICryptoGetTextPassword - 爲壓縮提示密碼的回調
  • IArchiveExtractCallback - 對壓縮包進行解壓的回調
  • IArchiveOpenVolumeCallback - 打開額外壓縮卷的回調
  • ISequentialInStream - 基本的只讀數據流接口
  • ISequentialOutStream - 基本的只寫數據流的接口
  • IInStream - 可以隨機讀取的輸入數據流接口
  • IOutStream - 輸出數據流接口
  • IInArchive - 主要壓縮接口

開發人員使用這個.NET接口時是直接調用7-Zip的功能,而不是通過控制檯或控制檯的封裝來對7-Zip進行訪問。這個接口使用了公共開發與分發協議(CDDL),只有Code Project註冊用戶才能下載其C#源代碼

查看英文原文:Using 7-Zip's Compressing/Decompressing Functionality from a .NET Application
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章