无法打开压缩文件
Can't open compressed file
>我正在尝试使用 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 容器中查找和提取压缩文件。获得该文件后,您只能将 qUncompression 应用于该文件。
尝试查看QuaZip,这是一个为此目的而编写的库。
相关文章:
- 浏览压缩文件与游览解压缩它们
- 如何在视觉工作室中使用C++解压缩压缩文件 (.zip)
- 霍夫曼解码压缩文件
- 如何以非阻塞方式压缩文件
- 从本地代码访问apk中的压缩文件(从zip中读取zip)
- 如何将多个协议缓冲区的消息写入可附加的压缩文件中?
- 使用结构 c++ 读取压缩文件 Gzread
- 使用Qt qUnCompress功能解压缩文件
- 如何将二进制数据写入压缩文件
- 使用boost iostreams将数组读写到压缩文件中
- 压缩和解压缩文件 C++
- 在C++中,如何在使用gzstream编写压缩文件时检查错误
- 对解压缩文件(popen)的权限被拒绝
- 无法打开压缩文件
- Qt-包括DLL和压缩文件
- 如何检查 zip 文件或压缩文件是否存在
- 如何压缩文件夹使用 lzma sdk
- 在霍夫曼压缩后将代码表存储在压缩文件中,并从此表构建用于解压缩的树
- c++中的压缩文件IO
- 通过套接字发送和接收压缩文件