众所周知,获得某一目录下第一级的所有文件和文件夹列表,很容易办到:
DirectoryInfo di=new DirectoryInfo(strBaseDir);//strBaseDir是起始目录,绝对地址
DirectoryInfo[] diA=di.GetDirectories();//获得了所有一级子目录
FileInfo[] fiA=di.GetFiles();//获得了所有起始目录下的文件
要是想获得某一目录下的所有文件和目录(包含所有子目录),那该怎么办呢?目录都是一层套一层的,我们不能预知某个目录的深度,只有获得了父节点,才有可能了解子节点,解决这个问题,只有递归这个概念了。
那么什么是递归呢?请不会C语言的朋友先去看书吧,我这里只简单的说一下我的理解:递归就是一个方法,在这个方法里面,再次调用它本身这个方法,从而描述了某一事物运作的深度…… - - 不废话了,看代码吧:

public ArrayList al=new ArrayList();

//我把ArrayList当成动态数组用,非常好用

public void GetAllDirList(string strBaseDir)

{

  DirectoryInfo di=new DirectoryInfo(strBaseDir);

  DirectoryInfo[] diA=di.GetDirectories();

  for(int i=;i<diA.Length;i++)

  {

   al.Add(diA[i].FullName);

  //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中

   GetAllDirList(diA[i].FullName);

  //注意:递归了。逻辑思维正常的人应该能反应过来

  }

}

最后,如何把所有目录信息从ArrayList中取出来呢?如下:

for(int i=;i<al.Count;i++)
{
   textBox1.AppendText(al[i].ToString()+" ");
  //textBox1是容器,拷贝我的代码,注意要换一个你自己的容器
}

最新文章

  1. JavaScript实现TwoQueues缓存模型
  2. [转载]: delphi中XLSReadWrite控件的使用(1)---简介
  3. Alice and Bob(不断补充)
  4. 解决方法:loadrunner 场景下执行webservice脚本是---报错10492 Error: Exception was raised when calling per-process-init function in extens
  5. linux命令(6)crontab的用法和解析
  6. Codeforces 600B Queries about less or equal elements(二分查找)
  7. 学习笔记---C++析构函数心得
  8. 使用Python实现Hadoop MapReduce程序
  9. 一次C++调试记录
  10. React版本更新及升级须知(持续更新)
  11. [Swift]LeetCode842. 将数组拆分成斐波那契序列 | Split Array into Fibonacci Sequence
  12. python实现目录大小计算(含子目录)
  13. 3ds max学习笔记(十六)-- 摄像机
  14. yii源码三 -- db
  15. Redis笔记(一):Redis安装教程
  16. IIS Express 添加MIME映射
  17. js 根据url 下载图片
  18. cocos2dx各个版本下载地址
  19. JNI 和 socket api
  20. React module methods with passing props to child or invoking callback to parent.

热门文章

  1. springboot xml声明式事务管理方案
  2. WEB应用支持RESTFUL风格方法
  3. mysql 查询中文字段 没有结果的解决方法
  4. iframe父子元素获取
  5. i2c总线驱动,总线设备(适配器),从设备,从设备驱动的注册以及匹配
  6. 巧用NULL模式解耦依赖
  7. Java中的final关键字--浅析
  8. SSM_CRUD新手练习(4)修改生成的mapper.xml映射文件
  9. Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装
  10. 将一个浮点数转换成人民币读法字符串(java)