使用以下函数可以遍历Symbian系统指定文件夹下的所有文件(包括子文件夹的文件)
该函数在6680上通过测试
//RLog::Log()是我写LOG的一个函数,相当于console->Printf()
void GetJarPath()
{
_LIT(iSkinFileDir,"C://system//midlets//");
CDirScan* ds = CDirScan::NewLC(iCoeEnv->FsSession());
TRAPD(err,ds->SetScanDataL(iSkinFileDir,KEntryAttNormal,ESortByName|EAscending,CDirScan::EScanDownTree));
if (err!=KErrNone)
{
CleanupStack::PopAndDestroy(ds);
return;
}
CDir* c = NULL;
TFileName fullname;
while(1)
{
ds->NextL(c);
if (!c)
break;
for (TInt i=0; i<c->Count(); i++)
{
const TEntry e= (*c)[i];
fullname.Copy(ds->FullPath());
fullname.Append(e.iName);
RLog::Log(fullname);
TParsePtrC p(fullname);
RLog::Log(p.NameAndExt());
}
delete c;
c=NULL;
}
CleanupStack::PopAndDestroy(ds);
}
使用这个函数就可以更多地了解symbian的文件系统了