关于QuaZIP库的压缩使用(多级目录压缩)

最近了解了下Qt的压缩库,发现很多人推荐QuaZIP,自己捣鼓了下,写下笔记。
我这边需要的压缩结构大概如下:
在这里插入图片描述
即多级目录和子文件压缩。
首先是创建一个ZIP文件,用到QuaZIP。
(以下代码只是大概,没有判断执行是否成功等一些条件,自己写时记得加判断)

QuaZip zip("D:\\qua.zip");
zip.open(QuaZip::mdCreate);//创建一个zip
XXXXXX;
zip.close();

接着因为要操作ZIP里的文件,所以需要QuaZipFile类。且需要在ZIP里面创建目录,所以需要QuaZipNewInfo类,下面是官方文档的说明。
在这里插入图片描述
在这里插入图片描述

QuaZipFile out(&zip); //指明要操作的zip
//out.open(QIODevice::WriteOnly, QuaZipNewInfo("root/")); // 在zip文件里创建extra目录\
//目录末尾一定要记得加/

//out.open(QIODevice::WriteOnly, QuaZipNewInfo("root/subDir1/")) // 这里同理,创建\
//一个多个子目录

out.open(QIODevice::WriteOnly, QuaZipNewInfo("root/2.txt")); // 创建extra目录\
//并在其目录下创建2.txt文件。

out.write("123", 3); // 往2.txt写入123数据。

/***********************************************************************
若是要把已经存在的文件压缩到目录里,这边我暂时是使用QFile.
QFile file("你要压缩的文件名称");
out.open(QIODevice::WriteOnly, QuaZipNewInfo("root/目标名称")); 
file.open(QIODevice::ReadOnly);
out.write(file.readAll());
file.close();
out.close();
***********************************************************************/

out.close();

若是想要压缩已经存在的多个目录的话,也是可以用以上的步骤完成的。有没有更方便的方法这边还没研究QAQ,如果有的话欢迎大佬留言。代码逻辑不对的话,请各位指正轻喷。

希望能帮助到需要的人QAQ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值