黑马程序员技术交流社区

标题: C#获取全部目录和文件的简单实例 [打印本页]

作者: 陈君    时间: 2014-8-15 17:32
标题: C#获取全部目录和文件的简单实例
转自:http://www.jb51.net/article/42576.htm
这篇文章介绍了C#获取全部目录和文件的简单实例,有需要的朋友可以参考一下

  1. public class FileAccess
  2. {
  3. //储存所有文件夹名
  4. private ArrayList dirs;
  5. public FileAccess()
  6. {
  7. dirs = new ArrayList();
  8. }
  9. //获取所有文件名
  10. private ArrayList GetFileName(string dirPath)
  11. {
  12. ArrayList list = new ArrayList();
  13. if (Directory.Exists(dirPath))
  14. {
  15. list.AddRange(Directory.GetFiles(dirPath));
  16. }
  17. return list;
  18. }
  19. //获取所有文件夹及子文件夹
  20. private void GetDirs(string dirPath)
  21. {
  22. if (Directory.GetDirectories(dirPath).Length > 0)
  23. {
  24. foreach (string path in Directory.GetDirectories(dirPath))
  25. {
  26. dirs.Add(path);
  27. GetDirs(path);
  28. }
  29. }
  30. }
  31. /// <summary>
  32. /// 获取给出文件夹及其子文件夹下的所有文件名
  33. /// (文件名为路径加文件名及后缀,
  34. /// 使用的时候GetAllFileName().ToArray()方法可以转换成object数组
  35. /// 之后再ToString()分别得到文件名)
  36. /// </summary>
  37. /// <param name="rootPath">文件夹根目录</param>
  38. /// <returns></returns>
  39. public ArrayList GetAllFileName(string rootPath)
  40. {
  41. dirs.Add(rootPath);
  42. GetDirs(rootPath);
  43. object[] allDir = dirs.ToArray();
  44. ArrayList list = new ArrayList();
  45. foreach (object o in allDir)
  46. {
  47. list.AddRange(GetFileName(o.ToString()));
  48. }
  49. return list;
  50. }
  51. /// <summary>
  52. /// 如果上个方法不知道怎么用,那就调用这个方法吧
  53. /// </summary>
  54. /// <param name="rootPath"></param>
  55. /// <returns></returns>
  56. public List<string> FileName(string rootPath)
  57. {
  58. List<string> list = new List<string>();
  59. foreach (object o in GetAllFileName(rootPath).ToArray())
  60. {
  61. list.Add(o.ToString());
  62. }
  63. return list;
  64. }
  65. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2