我正在尝试使用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_result
和open_zip_result
都是true
。我也可以看到zip文件(它也有一个大小,如50KB)但我无法打开它。我收到以下错误:
存档格式未知或已损坏。
我做错了什么?如果您有更好/另一种压缩文本文件的方法,请告诉我!
答案 0 :(得分:0)
Zip压缩算法和Zip容器之间存在差异。你这两个人很困惑。
您需要对Zip容器格式进行一些研究,以帮助您在Zip容器中找到并提取压缩文件。获得该文件后,您只能将qUncompress应用于该文件。
尝试查看QuaZip,这是为此目的而编写的库。