void DecodeZipfile(const TDesC& aFileName)
{
RFsfs;
User::LeaveIfError(fs.Connect());
CZipFile*zipFile = CZipFile::NewL(fs, aFileName);
// 初始化zip句柄
CleanupStack::PushL(zipFile);
//这里取得压缩包中的某个文件
CZipFileMember* member =zipFile->CaseInsensitiveMemberL(_L("abc.txt"));
// 得到压缩包中指定文件的句柄
CleanupStack::PushL(member);
RZipFileMemberReaderStream* stream;
zipFile->GetInputStreamL(member, stream);
CleanupStack::PushL(stream);
//取得值
HBufC8*buffer =HBufC8::NewLC(member->UncompressedSize());
TPtr8bufferPtr(buffer->Des());
User::LeaveIfError(stream->Read(bufferPtr,member->UncompressedSize()));
RFilefile;
file.Create(fs,_L("c:\\data\\uncompressed.txt"),EFileWrite);
file.Write(buffer->Des());
file.Close();
CleanupStack::PopAndDestroy(4); // buffer, stream, member,zipFile
fs.Close();
}