A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 陈君 金牌黑马   /  2014-8-15 17:32  /  1112 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

转自: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. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马