.Net中的7Zip——Sharpcompress

虽然微软在.net 4.5中集成了对zip的解压支持,但还是比较弱。如果我们想让程序像7zip那样支持万能解压,Sharpcompress可以帮你实现这个目标,它是一个C#写的压缩/解压工具,虽然还没能做得像7Zip那么NB,当支持的格式也是相当多的,如下就是目前的支持情况:


Archive Format


Compression Format(s)


Compress/Decompress


Archive API


Reader API


Writer API


Rar


Rar


Decompress(1)


RarArchive


RarReader


N/A


Zip(2)


None, DEFLATE, BZip2, LZMA/LZMA2, PPMd


Both


ZipArchive


ZipReader


ZipWriter


Tar


None, BZip2, GZip


Both


TarArchive


TarReader


TarWriter(3)


GZip (single file)


GZip


Both


GZipArchive


GZipReader


GZipWriter


7Zip(4)


LZMA, LZMA2, BZip2, PPMd, BCJ, BCJ2


Decompress


SevenZipArchive


N/A


N/A

(1) SOLID Rars are only supported in the RarReader API.
(2) Zip format supports pkware and WinzipAES encryption. However, encrypted LZMA is not supported.
(3) The Tar format requires a file size in the header. If no size is specified to the TarWriter and the stream is not seekable, then an exception will be thrown.
(4) The 7Zip format doesn‘t allow for reading as a forward-only stream so 7Zip is only supported through the Archive API

并且这个库是一个portable的,.NET/Mono/Silverlight/WP7等框架都可以用,还等什么,赶紧安装吧:

PM> Install-Package sharpcompress

并且它也在NUGET上提供了一些范例:

PM> Install-Package p3-sharpcompress

如果要更详细的了解它,可以参看它的项目主页:

时间: 2024-08-15 20:14:04

.Net中的7Zip——Sharpcompress的相关文章

64位Win7中7zip无法关联文件的问题

问题1:win7x64中安装了7zip,在解压文件右键打开无法关联文件. 解决方法1:在开始菜单中打开7-zip File Manage->工具 ->选项 ->7-zip 勾选"添加7-zip到右键菜单" 弹出"拒绝访问"弹框,原因是该程序没有通过管理员身份运行,导致写的权限不足.此法不通. 解决方法2: 1.找到安装文件中的7zFM.exe, 2.右键,run as administrator, 3.然后再进行一次文件关联,即可成功. 亲测可用上

解决Windows中的文件上传到Linux中出现乱码问题

Windows中的文件(包含中文文件名及文件内容)打包上传到Linux中解包后经常会出现中文文件名及文件内容乱码问题,此问题可通过如下方式解决: 一.首先更改linux的中文编码为GBK 临时生效:export.GBK 永久生效:编辑i18n文件,更改中文编码. vi/etc/sysconfig/i18n LANG="zh_CN.GBK" 二.将Windows系统中待上传文件(包含中文文件名及文件内容)使用7-zip工具压缩成7z格式上传到Linux系统中 三.Linux中安装7-zi

制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统

转自网络,供学习记录使用,红色部分是我实验时,这篇文章和网站稍有出入的地方. 目的:制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统 在http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/quickstart/zynq(姑且把这个链接成为链接1吧)链接中找到 图1 点击绿色字体的链接,下载镜像原始文件.这里有不同时期的版本,本说明中选择 图2 下载的原始文件为:2014_R2-

Jenkins+Git 集成测试(build、zip、curl)

自上篇文章<jenkins + Git 搭建持续集成环境>后,这次配置的job有了新的要求,同时也踩到了新的坑.特此记录,以警己身. 任务要求: 这三个步骤都在job配置页面中Build部分添加build步骤. 首先添加“打包构建”的命令: cd buildScriptsbuild.bat build.bat中会自动使用dojo的构建工具. 添加压缩命令: cd buildOutput // 将构建后生成的文件夹和文件拷贝到一个目录中 mkdir WebAppBuilderForArcGIS

关于使用 ProcessStartInfo 类时的文件目录包含空格问题的解决方法

前段时间项目中使用7-zip压缩生成EPUB文件(2.01),但通过 EPUB-Checker.exe 软件检测发现 mimetype 文件不是第一个归档文件,经过对比怀疑7z中有自己默认的归档顺序,遂改用 winrar.exe 进行压缩(项目采用C#编写,通过CMD执行压缩命令),压缩步骤为: 1.压缩 mimetype 文件,命令: "C:\Program Files\WinRAR\winrar.exe"  a -ep1 C:\Users\Administrator\AppData

Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这两种方式. 1.Arduino IDE Windows安装向导方式 Windows安装向导方式安装和绝大多数Windows应用程序安装类似,只需要直接运行下载的.exe文件即可.例如1.6.0版本的安装向导方式的文件名为arduino-1.6.0-windows.exe.直接双击该文件即可开始安装.

linuxtoy.org资源

https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像头共享 (2015-07-06) Firefox 40 Beta (2015-07-04) BookDrop: 通过 Dropbox 接收 Kindle 电子书 (2015-06-24) Linux Kernel 4.1 (2015-06-23) b2gdroid:在 Android 手机上一键切换

在 Java 项目中解压7Zip特殊压缩算法文件

1 问题描述 Java Web 后端下载了一个经特殊算法压缩的 zip 文件,因为不能采用 java 本身自带的解压方式,必须采用 7Zip 来解压.所以,提到了本文中在 java web 后端调用外部 7zip exe 来解压文件的问题. 2 主要实现 2.1 定义缓冲区类 class StreamGobbler extends Thread { InputStream is; String type; public StreamGobbler(InputStream is, String t

windows phone使用sharpcompress进行解压压缩文件

在做移动端时,当我们需要从服务器获得多个文件时,为了节约流量,服务器一般会返回一个压缩包,那我们就是下载完成后,在手机中进行解压到指定位置 SharpCompress就是可以在手机中进行解压一个类库(.net),在codeplex是开源,支持桌面端和移动端 点击下载最新版本       查看支持内容      API使用示例 下面我们看一下在windows phone中使用其进行解压ZIP包 public async void DownloadAndUnCompress() { string s