从.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 的开关列表:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-624906/ ,如需转载,请注明出处,否则将追究法律责任。