递归获取文件目录
来源:互联网 发布:打码刷码软件官方下载 编辑:程序博客网 时间:2024/05/17 03:36
2
31.
4//1、1、2、3、5、8、13、21、34 求第30位数是多少, 用递归算法实现
5
6//解剖递归算法
7
8//猛一看这一串数据还真看不出来个啥,但是只要你认真查找,就能看出规律。
9
10//从上面可以看出前两个数相加得到第三个数。
11
12public static int SuanFa (int i)
13 {
14 if(i>0)
15 {
16 if (1 >= i || i <= 2)
17
18 return 1;
19
20 if(i>2)
21
22 return SuanFa(i-1) + SuanFa(i-2);
23
24 }
25 else
26
27 return 0;
28
29 }
30
31
322.C#遍历指定目录的递归(完美改进版+完整程序源码)
33昨天写了一下遍历目录树的思路和核心代码,今天将其实践化了一下,做了个实际的例子,遍历指定目录下的所有文件和文件夹,并将其按层次归类显示,对文件夹有标志提示,将文件夹与文件区分了出来。
34
35下面是改进版的核心方法代码:
36
37public ArrayList al = new ArrayList();//定义存储文件和文件夹名的数组
38 2 public int aaa = 0;//定义标志位参数,递归时判断该参数,若不为0则非第一次递归
39 3 public void GetAllDirList(string strBaseDir)
40 4 {
41 5 DirectoryInfo di = new DirectoryInfo(strBaseDir);
42 6 DirectoryInfo[] diA = di.GetDirectories();
43 7 if(aaa==0)
44 8 {
45 9 FileInfo[] fis2 = di.GetFiles(); //有关目录下的文件
4610 for (int i2 = 0; i2 < fis2.Length; i2++)
4711 {
4812 al.Add(fis2[i2].FullName);
4913 //fis2[i2].FullName是根目录中文件的绝对地址,把它记录在ArrayList中
5014 }
5115 }
5216 for (int i = 0; i < diA.Length; i++)
5317 {
5418 aaa++;
5519 al.Add(diA[i].FullName + "\t<目录>");
5620 //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
5721 DirectoryInfo di1 = new DirectoryInfo(diA[i].FullName);
5822 DirectoryInfo[] diA1 = di1.GetDirectories();
5923 FileInfo[] fis1 = di1.GetFiles(); //有关目录下的文件
6024 for (int ii = 0; ii < fis1.Length;ii++ )
6125 {
6226 al.Add(fis1[ii].FullName);
6327 //fis1[ii].FullName是某个子目录中文件的绝对地址,把它记录在ArrayList中
6428
6529 }
6630 GetAllDirList(diA[i].FullName);
6731 //注意:递归了。逻辑思维正常的人应该能反应过来
6832 }
6933
7034 }
71
72
31.
4//1、1、2、3、5、8、13、21、34 求第30位数是多少, 用递归算法实现
5
6//解剖递归算法
7
8//猛一看这一串数据还真看不出来个啥,但是只要你认真查找,就能看出规律。
9
10//从上面可以看出前两个数相加得到第三个数。
11
12public static int SuanFa (int i)
13 {
14 if(i>0)
15 {
16 if (1 >= i || i <= 2)
17
18 return 1;
19
20 if(i>2)
21
22 return SuanFa(i-1) + SuanFa(i-2);
23
24 }
25 else
26
27 return 0;
28
29 }
30
31
322.C#遍历指定目录的递归(完美改进版+完整程序源码)
33昨天写了一下遍历目录树的思路和核心代码,今天将其实践化了一下,做了个实际的例子,遍历指定目录下的所有文件和文件夹,并将其按层次归类显示,对文件夹有标志提示,将文件夹与文件区分了出来。
34
35下面是改进版的核心方法代码:
36
37public ArrayList al = new ArrayList();//定义存储文件和文件夹名的数组
38 2 public int aaa = 0;//定义标志位参数,递归时判断该参数,若不为0则非第一次递归
39 3 public void GetAllDirList(string strBaseDir)
40 4 {
41 5 DirectoryInfo di = new DirectoryInfo(strBaseDir);
42 6 DirectoryInfo[] diA = di.GetDirectories();
43 7 if(aaa==0)
44 8 {
45 9 FileInfo[] fis2 = di.GetFiles(); //有关目录下的文件
4610 for (int i2 = 0; i2 < fis2.Length; i2++)
4711 {
4812 al.Add(fis2[i2].FullName);
4913 //fis2[i2].FullName是根目录中文件的绝对地址,把它记录在ArrayList中
5014 }
5115 }
5216 for (int i = 0; i < diA.Length; i++)
5317 {
5418 aaa++;
5519 al.Add(diA[i].FullName + "\t<目录>");
5620 //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
5721 DirectoryInfo di1 = new DirectoryInfo(diA[i].FullName);
5822 DirectoryInfo[] diA1 = di1.GetDirectories();
5923 FileInfo[] fis1 = di1.GetFiles(); //有关目录下的文件
6024 for (int ii = 0; ii < fis1.Length;ii++ )
6125 {
6226 al.Add(fis1[ii].FullName);
6327 //fis1[ii].FullName是某个子目录中文件的绝对地址,把它记录在ArrayList中
6428
6529 }
6630 GetAllDirList(diA[i].FullName);
6731 //注意:递归了。逻辑思维正常的人应该能反应过来
6832 }
6933
7034 }
71
72
具体原理每行关键核心代码后都有注释,大家应该可以看明白的
阅读全文
0 0
- 递归获取文件目录
- PHP递归文件目录获取
- PHP递归获取目录内所有文件
- 递归获取目录下的所有文件
- 递归获取下级目录
- 获取目录下所有的文件(非递归)
- Java递归获取目录下所有特定后缀文件
- 递归获取某一目录下的所有文件
- java 递归获取一个目录下的所有文件路径
- php获取目录下所有文件路径(递归)
- Linux 获取制定目录的文件数(递归)
- 递归获取目录、子目录下的所有文件
- 通过递归获取一个文件目录下的所有文件和目录
- 递归显示文件目录
- 递归遍历目录文件
- 递归删除文件目录
- 递归删除文件目录
- 递归遍历目录文件
- 【linux】ldconfig命令用法笔记
- phpexcel将json转excel
- spring 核心与源码解析(2):IoC之ApplicationContext
- gojs去除水印
- docker registry 搭建流程(含CA认证)
- 递归获取文件目录
- html学习记录一
- deeplearning.ai lecture2-week2-optimization methods
- 程序人生
- Android-NDK入门
- 通常的神经网络大小的设计研究,需要多少神经元
- 10大移动端机器学习框架
- 【VUE】.NET实现Tree组件双向绑定数据(1)
- ngrok使用