如何用CZip/CUnzip类压缩/解压缩文件

本文介绍如何用CZip/CUnzip类压缩/解压缩文件,这个类使用gzip GNU源代码(gzip-1.2.4a)。这是个免费软件,在GUN通用公共许可证(General Public License)条款下可以分发及修改此软件,关于这个通用公共许可证的详细条款请参考:

http://www.vckbase.com/vckbase/uniondocs/gungpl.htm

目标动态库输出两个类:

CZip(用于压缩文件)

CUnzip (用于解压缩文件)

首先用文件名建立CZip 或 CUnzip 对象。然后,压缩和解压缩都必须调用对象的 SwapSize() 方法,参数是目标文件名。如果调用出错,SwapSize()可以丢出CZipException异常。与异常相关的信息可以用GetStringt方法来获得,以下几种情况都会产生异常:

--源文件不存在或无法以读方式打开文件

--无法创建目标文件。例如,这个文件已经存在

--gzip代码返回一个错误,在这种情况下,与异常相关的信息包含由gzip源代码通过stderr返回的信息

CZip 或 CUnzip的使用方法如下:

在工程中包含czip.h文件

用zipdll.lib将工程链接到zipdll.dll

将zipdll.dll拷到可执行文件所在的目录

注意:也可以动态链接到zipdll.dll(没有测试过)。下面是使用CZip/CUnzip类的例子代码段:

try

{

CZip myFileToZip ("file_to_zip_name");

myFileToZip.SwapSize ("file_zipped_name");

}

catch (CZipException e)

{

cout << "problem while zipping : " << e.GetString() << endl;

delete pExcep;

}

注意: 如果想用WinZip来解压缩,则不能用".zip"作为文件扩展名。否则WinZip无法打开这个文件。 用WinZip压缩的文档(只能包含一个文件)可以用CUnzip对象解开。

本文配套源码

时间: 2024-08-31 03:48:41

如何用CZip/CUnzip类压缩/解压缩文件的相关文章

详解linux下tar压缩解压缩文件夹的命令与参数_Linux

前言 tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,这篇文章仅仅列举常用的压缩与解压缩参数,下面直接先上三个常用命令,一起来看看吧 1.压缩当前目录下文件夹/文件test到test.tar.gz: tar -zcvf test.tar.gz test 2.解压缩当前目录下的file.tar.gz到file: tar -zxvf file.tar.gz 参数详解 五个命令中必选一个      -c: 建立压缩档案      -x:解压      -t:查看内容      -r:

压缩解压缩文件(zip格式)

using System; using System.Collections.Generic; using System.IO; using ICSharpCode.SharpZipLib.Zip; namespace TestConsole { internal class Program { private static void Main() { //CreateZipFile(@"d:\", @"d:\a.zip"); UnZipFile(@"E:

Qt之zip压缩/解压缩(QuaZIP)

简述 QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库.适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开. Qt中提供了qCompress/qUncompress来进行文件的压缩与解压,但存在两个问题: 无法很好地压缩/解压缩文件夹. 只能将一个文件压缩为某种格式,压缩后的文件无法通过其它解压工具打开(如:7zip,或WinRAR),只能通过qUncompress解压读取,也就是说qCompress生

Qt之QuaZIP(zip压缩/解压缩)

简述 QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库.适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开. Qt中提供了qCompress/qUncompress来进行文件的压缩与解压,但存在两个问题: 无法很好地压缩/解压缩文件夹. 只能将一个文件压缩为某种格式,压缩后的文件无法通过其它解压工具打开(如:7zip,或WinRAR),只能通过qUncompress解压读取,也就是说qCompress生

Linux下的压缩解压缩命令详解

linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中

通过 C# 使用 J# 类库中的 Zip 类压缩文件和数据

数据|压缩 本文假设您熟悉 C# 和 Windows 窗体 下载本文的代码: ZipCompression.exe (150KB) 摘要 在存储文件或者通过网络发送文件时,使用 Zip 压缩可以节省空间和网络带宽.此外,还不会丢失经过 Zip 的文件夹的目录结构,这使其成为非常有用的压缩方案.C# 语言不具有任何使您可以操纵 Zip 文件的类,但是由于面向 .NET 的语言可以共享类实现,并且 J# 在 java.util.zip 命名空间中公开了类,因此您可以在 C# 代码中使用这些类.本文将

Asp.net利用RAR做文件压缩解压缩

如果服务器上安装了RAR程序,那么asp.net可以调用RAR实现文件压缩与解压缩. 不过要注意的是,由于Web程序不能直接调用客户端的程序(除非用ActiveX,ActiveX几乎被废弃),所以如果要想实现让用户把本地文件用网页解压缩只有把文件上传到服务器上再调用服务器上的RAR压缩,同理要解压缩本地的RAR文件可以把文件上传到服务器解压再拿回来. 本文讲怎么在服务器端的目录解压缩文件! 前台代码: <%...@ Page Language="C#" AutoEventWire

C#中使用WinRAR实现加密压缩及解压缩文件

  本次示例主要实现: 1.压缩文件夹及其下文件 2.压缩文件夹下文件 3.压缩文件夹及其下文件为rar 还是 zip 4.解压缩 5.加密压缩及解加密压缩 ----------- 示例代码如下: ? protected void Button1_Click(object sender, EventArgs e) { string strtxtPath = "C://freezip//free.txt"; string strzipPath = "C://freezip//f

如何压缩文件与解压缩文件

我们经常听到"压缩文件"这样一个用语,这是怎么一回事呢?原来为了将计算机的可用资源能够得到充分利用,尽量减少存放的空间,通常情况下压缩以后的文件是没有经过压缩的文件的十分之一.压缩以后的文件更加方便文件的传递.我们就可以利用机器上面的压缩工具"winzip"将多个文件压缩成一个文件. 首先建立一个文件夹,将准备要求压缩的所有对象都存放在上面,如果文件夹已经存在,即可按光标选中后,按右击键弹出快捷菜单,然后按光标的上下方向键指向 "add to所选文件名.z