For compression
TBuf8<100> Source;
TBuf8<100> Dest;
_LIT(Path,"C:\\Nokia\\Others\\Problem.txt");
_LIT(Path1,"C:\\Nokia\\Others\\comProblem.txt");
_LIT(Path2,"C:\\Nokia\\Others\\decomProblem.txt");
CEZCompressor* iCompressor=CEZCompressor::NewLC(*this,Z_DEFAULT_COMPRESSION);
RFs fs;
User :: LeaveIfError (fs.Connect());
RFile ProblemFile;
HBufC8* tempBufferPtr = HBufC8::NewLC( 2000);
TPtr8 unCompressed( tempBufferPtr->Des());
if((ProblemFile.Open(fs,Path,EFileRead|EFileWrite|EFileShareAny|EFileStreamText))==KErrNone )
{
ProblemFile.Read(unCompressed);
}
ProblemFile.Close();
HBufC8* iCompressed=HBufC8::NewL(20000); // allocating space for output
TPtr8 ptrCompressed=iCompressed->Des();
iCompressor->CompressL(ptrCompressed,unCompressed);
if((ProblemFile.Replace(fs,Path1,EFileWrite))==KErrNone )
{
ProblemFile.Write(ptrCompressed);
}
ProblemFile.Close();
For decompression
HBufC8* ideCompressed=HBufC8::NewL(20000); // allocating space for output
TPtr8 ptrdeCompressed=ideCompressed->Des();
iDecompressor->DecompressL(ptrdeCompressed,ptrCompressed);
if((ProblemFile.Replace(fs,Path2,EFileWrite))==KErrNone )
{
ProblemFile.Write(ptrdeCompressed);
}
ProblemFile.Close();
fs.Close();
TBool def=iCompressor->DeflateL();
}