文/
Abel Avram 译/
赵劼 出处/Infoq开发人员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#源代码。
您可能对 [Visual Studio.NET] 的这些文章也感兴趣: