C#中怎么获取一个目录下的所有文件,包括所有子文件夹中的文件

C#中怎么获取一个目录下的所有文件,包括所有子文件夹中的文件

问题描述:

用C#编程,我现在可以得到一级目录下的文件,并且遇到子文件夹的时候可以打开,并可以读取其中的文件,但是不能继续打开子文件夹下的文件夹,感觉应该做一个循环,但是不知道该怎么循环,我现在看到的循环变量是变量名,但变量名好像不能随着循环变化,是固定的。要实现读取某个目录下的所有文件,包括子文件夹下的文件,直至所有子文件夹都被读取,应该怎么编程,思路是什么。

import java.io.File;
/*

  • 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 。
  • 并将文件夹和文件名称打印在控制台上面。并且要显示文件目录的层级
  • 注:运用了递归的算法。 */ public class FileDemo { public static void main(String[] args) {......
    答案就在这里:获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

ArrayList GetAll(DirectoryInfo dir)//搜索文件夹中的文件 { ArrayList FileList = new ArrayList(); FileInfo[] allFile = dir.GetFiles(); foreach (FileInfo fi in allFile) { FileList.Add(fi.Name); } DirectoryInfo[] allDir= dir.GetDirectories(); foreach (DirectoryInfo d in allDir) { GetAll(d); } return FileList; } DirectoryInfo d = new DirectoryInfo(@"F:\"); ArrayList Flst= GetAll(d);

需要用到递归算法。。。