C#取得指定路径下所有目录及文件名称

  1. using System.IO;   
  2.   
  3. ///    
  4. /// 取得指定路径下所有目录及文件名称(可递归)   
  5. ///    
  6. /// 指定路径   
  7. /// 要与 strDir 中的文件名匹配的搜索字符串   
  8. /// 例:   
  9. /// “*.abc*”返回扩展名为 .abc、.abcd、.abcde、.abcdef 等的文件。   
  10. /// “*.abcd”只返回扩展名为 .abcd 的文件。   
  11. /// “*.abcde”只返回扩展名为 .abcde 的文件。   
  12. /// “*.abcdef”只返回扩展名为 .abcdef 的文件。   
  13. ///    
  14. /// 查询得到的所有目录ArrayList   
  15. /// 查询得到的所有文件名称ArrayList   
  16. /// 是否递归查询   
  17. private void GetFileList(string strDir, string strFilePattern, ArrayList arrDirs,   
  18.     ArrayList arrFiles, bool bIsRecursive)   
  19. {   
  20.     if (string.IsNullOrEmpty(strDir))   
  21.     {   // 参数正确性检查   
  22.         return;   
  23.     }   
  24.   
  25.     try  
  26.     {   
  27.         // 取得指定路径下所有符合条件的文件   
  28.         string[] strFiles = Directory.GetFiles(strDir, strFilePattern);   
  29.         // 取得指定路径下所有目录   
  30.         string[] strDirs = Directory.GetDirectories(strDir);   
  31.   
  32.         foreach (string name in strFiles)   
  33.         {   // 将所有文件名称加入结果ArrayList中   
  34.             arrFiles.Add(name);   
  35.         }   
  36.   
  37.         foreach (string name in strDirs)   
  38.         {   // 将所有目录加入结果ArrayList中   
  39.             arrDirs.Add(name);   
  40.         }   
  41.   
  42.         if (bIsRecursive)   
  43.         {   // 递归   
  44.             if (strDirs.Length > 0)   
  45.             {   
  46.                 foreach (string dir in strDirs)   
  47.                 {   // 递归遍历所有文件夹   
  48.                     GetFileList(dir, strFilePattern, arrDirs, arrFiles, bIsRecursive);   
  49.                 }   
  50.             }   
  51.         }   
  52.   
  53.     }   
  54.     catch  
  55.     {// 异常处理   
  56.     }   
  57. }  
 
阅读更多
文章标签: c# string 扩展
上一篇C#冒泡排序
下一篇ASP.NET十分有用的页面间传值方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭