无法打开压缩文件

时间:2013-11-23 13:58:44

标签: c++ qt zip

我正在尝试使用QT压缩文本文件:

QFile inFile("d:\\build\\Directories\\Debug\\files\\developer.txt");
bool open_file_result = inFile.open(QIODevice::ReadOnly);
QByteArray ba = inFile.readAll();

QFile file("d:\\build\\Directories\\Debug\\files\\developer.gz");
bool open_zip_result = file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out << qCompress(ba);

file.close();

open_file_resultopen_zip_result都是true。我也可以看到zip文件(它也有一个大小,如50KB)但我无法打开它。我收到以下错误:

  

存档格式未知或已损坏。

我做错了什么?如果您有更好/另一种压缩文本文件的方法,请告诉我!

1 个答案:

答案 0 :(得分:0)

Zip压缩算法和Zip容器之间存在差异。你这两个人很困惑。

您需要对Zip容器格式进行一些研究,以帮助您在Zip容器中找到并提取压缩文件。获得该文件后,您只能将qUncompress应用于该文件。

尝试查看QuaZip,这是为此目的而编写的库。