将ZIP解压缩到QByteArray中

时间:2017-06-28 21:13:50

标签: c++ qt zip qbytearray

如何将ZIP存档解压缩到QByteArray(C ++ Qt)? 我尝试解压缩使用QuaZipQZipReader - 所有这些方法都需要将ZIP数据提取到某个文件目标(必须是QString - 目标路径)。 感谢所有读过这个问题的人。

1 个答案:

答案 0 :(得分:0)

您不能简单地“解压缩”到bytearray中,因为zip(与普通gz不同)包含多个文件和文件夹,而不仅仅是数据流。你会如何在单个bytearray中分离它们?

您可以做的是,在存档中提取每个文件(或单个文件,如果您的存档只包含一个文件)。QuaZipFile继承QIODevice。这意味着,您可以简单地对存档进行交互并提取其中的每个文件,并使用quaZipFile.readAll();将数据作为bytearray获取。这将为zip存档中的每个文件提供一个bytearray。