C#递归方法遍历目录及子目录
众所周知,获得某一目录下第一级的所有文件和文件夹列表,很容易办到:
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#递归方法遍历目录及子目录相关推荐
- linux C 遍历目录及其子目录 opendir -> readdir -> closedir
在 linux 下遍历某一目录下内容 LINUX 下历遍目录的方法一般是这样的: 打开目录->读取->关闭目录 相关函数是 opendir -> readdir -> clos ...
- linux脚本遍历目录,shell脚本递归遍历目录及子目录的例子分享
用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名. 实例1: 复制代码 代码如下: #!/bin/sh function scandir() { local cur_d ...
- c#里有遍历目录及子目录以树的形式展现
protected void Button1_Click(object sender, EventArgs e)<?XML:NAMESPACE PREFIX = O /> { TreeVi ...
- cmd for 遍历目录_DOS 遍历目录及子目录,删除特定名称文件夹或文件
1.遍历某个文件夹及其子文件夹目录,删除全部名为CVS的目录: 进入CMD界面执行以下两句,第一句进入特定待查找的目录,第二句删除当前目录及子目录下全部名为CVS的文件夹 cd "E:\3_ ...
- Python实现遍历目录与子目录,并找到以.txt结尾的文件
直接上代码,有问题的话,注释中写的很明白. import os def find(obj): if obj.endswith(".txt"): #endswith() 判断以什么什 ...
- CFileFind 遍历目录与子目录
/*作者:sysprogram 编写日期:2011年4月2日 博客:http://hi.csdn.net/SysProgram */ void MyFindFile(CString strPath) ...
- 遍历目录和子目录中的文件
脚本代码如下: #!/bin/bash function getdir(){for element in `ls $1`do dir_or_file=$1"/"$elementif ...
- 使用Shell遍历目录及其子目录中的所有文件方法
#! /bin/bashfunction read_dir(){for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令doif [ -d $1"/"$f ...
- Python遍历目录下的文件(os.walk 、os.listdir的用法)
Python遍历目录下的文件(os.walk .os.listdir的用法) 最近想从一个目录转移一些文件到另外一个目录,因为文件有指定的后缀,所以想着用python来转移,不做cv工程师,那就涉及到 ...
- File类(常用方法、遍历目录下的文件、listFiles()方法和删除文件及目录)
File类 File类的常用方法 Filie类常用的构造方法 File(String pathname) //通过指定的一个字符串类型的文件路径来创建一个新的File对象 File(String pa ...
最新文章
- Lighttpd1.4.20源代码分析 笔记 状态机之错误处理和连接关闭
- Quanta杂志长文翻译:通过信息论判定个体的边界
- 弹出页(指定高度,自由拖动,点击空白包括状态栏触发)
- 7-5 顺序存储的二叉树的最近的公共祖先问题(25 分)
- 基于linux智能家居系统设计,基于Linux的智能家居的设计(2)
- linux获取主板温度电压_自学修电脑:常见主板报警声解析!
- C#通用权限管理-程序安全检查,这些你一定要考虑到位
- Chrome的插件扩展程序安装目录是什么?在哪个文件夹?
- 程序猿的道路~~(How to be a programmer?)
- 推荐一款免费的SSH+sftp工具
- objects365数据集下载
- 2022年Java面试题---中科创达
- 百变人脸,趣味容颜,ALAE 人脸玩出新高度!
- 10负3次方计算机语言,10的负3次方等于多少?
- 楚天音乐台的在线广播的URL代码
- 进销存系统怎么部署到自己服务器,衡水进销存系统部署
- fpga+ADS1256
- 【复习笔记】计算机网络求职考点整理
- wps纸张大小设置成A4_word2010页面设置:手把手教你添加页眉、页脚、页码、边框和底纹...
- mysql的软件卸载不了,控制台也卸载不了的问题
热门文章
- 网络克隆自动修改计算机名ip,GHOST网克专用IP及计算机名自动修改器
- SpringBoot项目引入前端模板时,CSS、JS、HTML文件无法加载的问题
- [算法模板]莫比乌斯反演
- Linux系统启动过程分析
- Fork/Join 框架-设计与实现(翻译自论文《A Java Fork/Join Framework》原作者 Doug Lea)...
- 《http权威指南》读书笔记 六
- javascript中replace的正则表达式语法
- 【车道线检测与寻迹】【实践】4月17 线车位的实验思路与后续工作构想
- vscode使用:tab键插入空格而不是tab
- 概率论:均值、标准差、方差、协方差、矩