请问如何遍历手机中(手机本机内存和手机存储卡)所有文件?
请问如何遍历手机中(手机本机内存和手机存储卡)所有文件?
要包括各个子目录的遍历。
比如说返回手机本机内存中所有的mp3文件
返回手机存储卡中的所有mp3文件
希望各位指教,谢谢啦
[解决办法]
这里有两段获取指定路径下所有文件的示例代码,希望对你有帮助。
1.
RFs iFs;
User::LeaveIfError(iFs.Connect());
_LIT(KDIR,"C:");
CDir* dir;
User::LeaveIfError(iFs.GetDir(KDIR,KEntryAttNormal|KEntryAttMatchMask,ESortByDate,dir));
TInt tempInt = dir->Count();//文件数量
for(int i = 0;i < tempInt;i++)
{
TEntry& iEntry = (TEntry&)dir[i];
TBufC<256> iFileName = iEntry.iName;//文件名
}
delete dir;
dir = NULL;
2.
RFs iFs;
User::LeaveIfError(iFs.Connect());
_LIT(KDIR,"C:");
RDir oDir;
oDir.Open(iFs, KDIR, KEntryAttNormal);
TEntryArray* oArray = new (ELeave) TEntryArray;
oDir.Read(*oArray);
TInt iCount = oArray->Count();//文件数量
for(TInt i = 0;i < iCount;i++)
{
TEntry temp = (*oArray)[i];
TName iTemp = temp.iName;//文件名
if(i == 2)
CEikonEnv::Static()->InfoMsg(iTemp);
}
iFs.Close();
[解决办法]
1 检索文件夹
2 检索文件夹下后缀为mp3的文件
但是这样做效率很低的
[解决办法]
方法同1楼,建议使用一个等待对话框(不然会hang在那边,很容易让人不满。。。)