当前位置: 代码迷 >> Symbian >> 请教怎么遍历手机中(手机本机内存和手机存储卡)所有文件
  详细解决方案

请教怎么遍历手机中(手机本机内存和手机存储卡)所有文件

热度:747   发布时间:2013-02-26 00:00:00.0
请问如何遍历手机中(手机本机内存和手机存储卡)所有文件?
请问如何遍历手机中(手机本机内存和手机存储卡)所有文件?
要包括各个子目录的遍历。
比如说返回手机本机内存中所有的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在那边,很容易让人不满。。。)
  相关解决方案