BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

在.NET应用程序中使用7-Zip的压缩/解压缩功能

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 赵劼 关注 5 他的粉丝 发布于 2008年7月1日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
开发人员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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

LZMA里不是本来就有C#的支持吗? by mason tangooricha

LZMA里不是本来就有C#的支持吗?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT