众所周知,获得某一目录下第一级的所有文件和文件夹列表,很容易办到:
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=0;i<diA.Length;i++){al.Add(diA[i].FullName);//diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
GetAllDirList(diA[i].FullName);//注意:递归了。逻辑思维正常的人应该能反应过来
}}

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

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

转载于:https://www.cnblogs.com/shadowme/p/6250129.html

C#递归方法遍历目录及子目录相关推荐

  1. linux C 遍历目录及其子目录 opendir -> readdir -> closedir

    在 linux 下遍历某一目录下内容 LINUX 下历遍目录的方法一般是这样的: 打开目录->读取->关闭目录 相关函数是 opendir -> readdir -> clos ...

  2. linux脚本遍历目录,shell脚本递归遍历目录及子目录的例子分享

    用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名. 实例1: 复制代码 代码如下: #!/bin/sh function scandir() { local cur_d ...

  3. c#里有遍历目录及子目录以树的形式展现

    protected void Button1_Click(object sender, EventArgs e)<?XML:NAMESPACE PREFIX = O /> { TreeVi ...

  4. cmd for 遍历目录_DOS 遍历目录及子目录,删除特定名称文件夹或文件

    1.遍历某个文件夹及其子文件夹目录,删除全部名为CVS的目录: 进入CMD界面执行以下两句,第一句进入特定待查找的目录,第二句删除当前目录及子目录下全部名为CVS的文件夹 cd "E:\3_ ...

  5. Python实现遍历目录与子目录,并找到以.txt结尾的文件

    直接上代码,有问题的话,注释中写的很明白. import os def find(obj): if obj.endswith(".txt"): #endswith() 判断以什么什 ...

  6. CFileFind 遍历目录与子目录

    /*作者:sysprogram 编写日期:2011年4月2日 博客:http://hi.csdn.net/SysProgram */ void MyFindFile(CString strPath) ...

  7. 遍历目录和子目录中的文件

    脚本代码如下: #!/bin/bash function getdir(){for element in `ls $1`do dir_or_file=$1"/"$elementif ...

  8. 使用Shell遍历目录及其子目录中的所有文件方法

    #! /bin/bashfunction read_dir(){for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令doif [ -d $1"/"$f ...

  9. Python遍历目录下的文件(os.walk 、os.listdir的用法)

    Python遍历目录下的文件(os.walk .os.listdir的用法) 最近想从一个目录转移一些文件到另外一个目录,因为文件有指定的后缀,所以想着用python来转移,不做cv工程师,那就涉及到 ...

  10. File类(常用方法、遍历目录下的文件、listFiles()方法和删除文件及目录)

    File类 File类的常用方法 Filie类常用的构造方法 File(String pathname) //通过指定的一个字符串类型的文件路径来创建一个新的File对象 File(String pa ...

最新文章

  1. Lighttpd1.4.20源代码分析 笔记 状态机之错误处理和连接关闭
  2. Quanta杂志长文翻译:通过信息论判定个体的边界
  3. 弹出页(指定高度,自由拖动,点击空白包括状态栏触发)
  4. 7-5 顺序存储的二叉树的最近的公共祖先问题(25 分)
  5. 基于linux智能家居系统设计,基于Linux的智能家居的设计(2)
  6. linux获取主板温度电压_自学修电脑:常见主板报警声解析!
  7. C#通用权限管理-程序安全检查,这些你一定要考虑到位
  8. Chrome的插件扩展程序安装目录是什么?在哪个文件夹?
  9. 程序猿的道路~~(How to be a programmer?)
  10. 推荐一款免费的SSH+sftp工具
  11. objects365数据集下载
  12. 2022年Java面试题---中科创达
  13. 百变人脸,趣味容颜,ALAE 人脸玩出新高度!
  14. 10负3次方计算机语言,10的负3次方等于多少?
  15. 楚天音乐台的在线广播的URL代码
  16. 进销存系统怎么部署到自己服务器,衡水进销存系统部署
  17. fpga+ADS1256
  18. 【复习笔记】计算机网络求职考点整理
  19. wps纸张大小设置成A4_word2010页面设置:手把手教你添加页眉、页脚、页码、边框和底纹...
  20. mysql的软件卸载不了,控制台也卸载不了的问题

热门文章

  1. 网络克隆自动修改计算机名ip,GHOST网克专用IP及计算机名自动修改器
  2. SpringBoot项目引入前端模板时,CSS、JS、HTML文件无法加载的问题
  3. [算法模板]莫比乌斯反演
  4. Linux系统启动过程分析
  5. Fork/Join 框架-设计与实现(翻译自论文《A Java Fork/Join Framework》原作者 Doug Lea)...
  6. 《http权威指南》读书笔记 六
  7. javascript中replace的正则表达式语法
  8. 【车道线检测与寻迹】【实践】4月17 线车位的实验思路与后续工作构想
  9. vscode使用:tab键插入空格而不是tab
  10. 概率论:均值、标准差、方差、协方差、矩