无法打开压缩文件

Can't open compressed file

本文关键字:压缩 文件      更新时间:2023-10-16

>我正在尝试使用 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(,但我无法打开它。我收到以下错误:

存档格式未知或已损坏。

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

Zip

压缩算法和 Zip 容器之间存在差异。你混淆了两者。

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

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