打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于CEZFileToGZip的问题
 关于CEZFileToGZip的问题
binghe2000
2005-09-28, 11:51
我尝试使用CEZFileToGZip去压缩一个文件:

_LIT(KDirName,"C:\\epoc32ex\\data\\");
_LIT(KFileName,"C:\\epoc32ex\\data\\WriteToFile.dat");
_LIT(KDesFileName,"C:\\epoc32ex\\data\\WriteToFile.gz");

RFs fsSession;
User::LeaveIfError(fsSession.Connect()); // connect session
fsSession.SetSessionPath( KDirName );

RFile SouFile;
TInt ORet = SouFile.Open( fsSession, KFileName, EFileRead|EFileStreamText|EFileShareExclusive );
TInt FileSize;
ORet = SouFile.Size( FileSize );

CEZFileToGZip * pFileGZip = CEZFileToGZip::NewLC( fsSession, KDesFileName, SouFile, FileSize*2 + 10 );

TBool Ret = pFileGZip->DeflateL();

CleanupStack::PopAndDestroy(); //clean for pFileGZip;

SouFile.Close();
fsSession.Close();



结果在CEZFileToGZip::NewLC中生成了一个10 bytes的文件(gzip的文件头).

在执行DeflateL() 时return true但结果文件中并没有生成源文件的压缩数据.

请问是什么原因呢?

r60600
2005-09-28, 15:07
“C:\\epoc32ex\\data\\WriteToFile.dat”这个文件是否一个空文件?

r60600

cool_li
2005-09-28, 17:43
估计是文件路径错误!!!


cool_li

binghe2000
2005-09-30, 03:35
“C:\\epoc32ex\\data\\WriteToFile.dat”这个文件是否一个空文件?

r60600
不是一个空文件,是一个内容为"abcabc"的文件.
生成的目标文件是10 bytes的文件.我比较过用java生成的目标文件, 这10 bytes字节的内容是gzip的文件头.用CEZFileToGZip生成的目标文件缺少了源文件的压缩内容和gzip的文件尾.

binghe2000
2005-09-30, 03:36
估计是文件路径错误!!!
应该不是文件路径的问题, 因为有目标文件生成.

Cxt_programmer
2007-06-13, 08:00
while ( pFileGZip->DeflateL() );

要这样压缩。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
压缩1000份PDF文件只需3分钟,这个方法简直就是黑科技
文件太大,很占内存?迅捷压缩,一招解决你的烦恼!
使用BetterZip在大型压缩文件中解压一部分
批量压缩PPT文件用哪个软件比较快?
职场老手:怎么压缩ppt文件大小?
大家都知道,并不是所有压缩包都能完整恢复,这个也要看文档的受损程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服