<noscript type="text/javascript"><!---->
</noscript>
<noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</noscript>
从.NET 2.0开始,微软提供了一个 System.IO.Compression 的NameSpace,下含有 GZipStream 和 DeflateStream,都具有压缩和解压功能,但是,确不支持 zip 和 rar等常用的压缩文件。因为rar是有版权的,不支持有情可原,但zip是开源的,也不支持就有点自私了(估计微软是为了自己的cab格式)
对于 rar 格式,我们可以直接利用WinRAR提供的rar.exe/unrar.exe(此文件在winrar的安装目录下,是一个console程序),这种情况,只能用于 winform 或者 在提权 的情况下,才能用于 asp.net ;
对于 zip 格式,我们这里推荐是用原生的C#类库,这种方式,可以适用于asp.net(要有目录的写权限),我推荐大家使用开源免费的 SharpZipLib 。
对于 rar.exe 的解压和压缩,下面先给出它的 命令行格式对照表,便于了解:
rar命令行的使用方法:
rar <命令> -<开关 1> -<开关 N> <压缩文件> <文件...> <@列表文件...> <解压路径\>
rar的命令列表:
rar 的开关列表:

rar使用的例子:
<noscript type="text/javascript"><!---->
</noscript><noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</noscript>
1、rar a file file.ext
如果file.rar不存在将创建file.rar文件;如果file.rar压缩包中已有file.ext,将更新压缩包中的file.ext
2、rar a file d:\*.ext
将d盘下所有ext文件(不包括自文件夹)添加到压缩包中
3、rar x Fonts *.ttf
从压缩文件中解压 *.ttf 字体文件到当前文件夹
4、rar x Fonts *.ttf NewFonts\
从压缩文件中解压 *.ttf 字体文件到 NewFonts 目录下
5、rar e -p密码 test.rar
将有密码test.rar文件,解压到当前文件夹
C#调用rar.exe解压一个rar文件到系统的临时目录:
<noscript type="text/javascript"><!---->
</noscript>
<noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</noscript>
//取得系统临时目录
string sysTempDir = Path.GetTempPath();
//要解压的文件路径,请自行设置
string rarFilePath = @"d:\test.rar";
//确定要解压到的目录,是系统临时文件夹下,与原压缩文件同名的目录里
string unrarDestPath = Path.Combine(sysTempDir,
Path.GetFileNameWithoutExtension(rarFilePath));
//组合出需要shell的完整格式
string shellArguments = string.Format("x -o+ \"{0}\" \"{1}\\\"",
rarFilePath, unrarDestPath);
//用Process调用
using (Process unrar = new Process())
{
unrar.StartInfo.FileName = "rar.exe";
unrar.StartInfo.Arguments = shellArguments;
//隐藏rar本身的窗口
unrar.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
unrar.Start();
//等待解压完成
unrar.WaitForExit();
unrar.Close();
}
//统计解压后的目录和文件数
DirectoryInfo di = new DirectoryInfo(unrarDestPath);
MessageBox.Show(string.Format("解压完成,共解压出:{0}个目录,{1}个文件",
di.GetDirectories().Length, di.GetFiles().Length));
原文:http://www.zu14.cn/2008/12/31/net_package/ <iframe src="http://www.zu14.cn/2008/12/31/net_package/" height="0" width="0"></iframe>
分享到:
相关推荐
基于winForm.NET实现的C#学生信息系统.zip基于winForm.NET实现的C#学生信息系统.zip基于winForm.NET实现的C#学生信息系统.zip基于winForm.NET实现的C#学生信息系统.zip基于winForm.NET实现的C#学生信息系统.zip基于...
ActiveReports.net3 注册版保证可用
MySQL.Data.DLL是MySQL数据库与.NET应用程序交互的重要组件,它为C#、ASP.NET和WinForms等.NET平台提供了连接和操作MySQL数据库的功能。在本文中,我们将深入探讨MySQL.Data.DLL的最新版本,以及如何解决在使用过程...
到底是WinForm还是asp.net?关于此问题的简单看法。
程序针对的语言为.net winform下的C#和VB.net,不支持J#.c++尚未测试 在计算代码行数时可以选择忽略空行、忽略注释或者忽略visual studio所自动生成的文件。这样可以得到自己亲手写的真实的代码行数。 同时,...
在C#编程环境中,开发一个WinForm应用来实现文件夹的压缩与解压缩功能,可以极大地提高工作效率,尤其是在处理大量数据或文件时。WinForm是.NET Framework提供的一个用于创建桌面应用程序的用户界面框架,而C#语言的...
主要使用了以下知识: 1.Tabbar Controller与 Navigation Controller的套用 2.TableViewCell 子视图添加UILabel和UIButton等 3.Quartz 2D 绘制自定义视图 4.手势结合UIView Animation切换视图 ...
C# WinForm结合ASP.NET完成国家电网车辆派车系统,希望对大家有帮助哟
餐饮管理系统源码 餐饮茶楼管理系统 C# winform源码asp.net.rar
C#局域网文件管理系统,C# winform 写的一个局域网文件管理系统,方便局域网传输文件C#局域网文件管理系统,C# winform 写的一个局域网文件管理系统,方便局域网传输文件C#局域网文件管理系统,C# winform 写的一个...
实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作。 对用户输入的数据,进行严格的数据检验,尽可能的避免人为错误。 实现对消费账目自动结算。 实现对消费的历史记录进行查询,支持模糊查询。 系统应最大...
基于winForm实现的C#女鞋销售系统.zip基于winForm实现的C#女鞋销售系统.zip基于winForm实现的C#女鞋销售系统.zip基于winForm实现的C#女鞋销售系统.zip基于winForm实现的C#女鞋销售系统.zip基于winForm实现的C#女鞋...
在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用程序(WinForms)和Web服务(ASP.NET)方面。本主题将深入探讨如何在ASP.NET Web服务中调用WinForms应用程序的功能,以实现更复杂的系统集成和...
《SunnyUI.NET:C# WinForm开发的全方位利器》 在软件开发的世界里,高效且功能丰富的开发框架是程序员的得力助手。SunnyUI.NET便是这样一款专为C# WinForm开发者量身定制的开源框架,它支持.NET Framework 4.0及...
本资源"**C#对压缩文件的加密解密.rar**"显然是一个C#实现的项目,专注于在Winform应用程序中对zip、jar和rar三种常见压缩格式进行加密和解密的操作。 首先,让我们了解C#中的压缩技术。`System.IO.Compression`...
在C# WinForm和ASP.NET应用中,实现“查看附近的人”功能并计算两人之间的距离,通常涉及到地理定位和空间坐标处理。这个功能在社交应用、地图服务或基于位置的业务中非常常见。以下是一些关键知识点的详细介绍: 1...
C# WPF 解压缩7zip文件 带进度条 sevenzipsharp WPF PNG实现的图形进度条 .NET 3.5 vs2013打开 来这里看介绍 http://www.cnblogs.com/xe2011/p/3761870.html
在C# WinForm环境下开发应用程序时,我们常常需要集成文件的压缩与解压缩功能,以方便用户处理大量的数据或文件。本项目就是针对这一需求,提供了简洁易懂的C#代码实现,使得开发者能够轻松地在Windows桌面应用中...
C# Winform 上传文件是指在 Windows 窗体应用程序中上传文件到服务器的操作。这里总结了多种实现上传文件的方案。 方案一:使用 WebClient 上传文件 WebClient 是 .NET Framework 中的一个类,提供了一种简单的...
通过学习,你可以了解如何使用C#编写代码,如何用WinForms构建桌面应用,如何利用ADO.NET连接和操作数据库,以及如何使用ASP.NET构建Web应用。这些技能对于进入IT行业,尤其是.NET开发领域,是非常重要的。