我正在尝试使用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),但是我无法打开它。我收到以下错误:
归档文件格式未知或已损坏。
我究竟做错了什么?如果您有更好/另一种方式来压缩文本文件,请告诉我!
Zip压缩算法和Zip容器之间存在差异。您将两者混淆了。
您需要对Zip容器格式进行一些研究,以帮助您在Zip容器中查找和提取压缩文件。获得该文件后,您只能将qUncompress应用于该文件。
尝试查看QuaZip,这是为此目的而编写的库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句