binghe2000
2005-09-28, 11:51
我嘗試使用CEZFileToGZip去壓縮一個(gè)文件:
_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中生成了一個(gè)10 bytes的文件(gzip的文件頭).
在執行DeflateL() 時(shí)return true但結果文件中并沒(méi)有生成源文件的壓縮數據.
請問(wèn)是什么原因呢?
_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中生成了一個(gè)10 bytes的文件(gzip的文件頭).
在執行DeflateL() 時(shí)return true但結果文件中并沒(méi)有生成源文件的壓縮數據.
請問(wèn)是什么原因呢?

