关于C#中搜索目录及子目录的问题?

crystalworm 2002-11-14 03:04:54
如何连子目录一起搜索??
我想了很久,都是因为无法处理子目录中的更下级子目录而没有搞定。
...全文
107 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
musicfree_uibe 2002-11-14
  • 打赏
  • 举报
回复
我也做过,但是用递归好像很慢的哦

dy_2000_abc 2002-11-14
  • 打赏
  • 举报
回复
如果仅仅是搜索,不需要分辨子目录或子子目录属于哪个根目录,使用我上面给出的方法就足够了,the simplest is the best :).
rbjojo 2002-11-14
  • 打赏
  • 举报
回复
应该使用递归
bolar 2002-11-14
  • 打赏
  • 举报
回复
递归
dy_2000_abc 2002-11-14
  • 打赏
  • 举报
回复
下面例子列出e:\abc文件夹下所有的文件夹
ArrayList al=new ArrayList();
DirectoryInfo dinfo=new DirectoryInfo("e:\\abc");
al.Add(dinfo);
int index=0;
while (index<al.Count)
{
dinfo=(DirectoryInfo)al[index];
listBox1.Items.Add(dinfo.Name);
if (dinfo.GetDirectories()!=null)
al.AddRange(dinfo.GetDirectories());
index++;
}
crystalworm 2002-11-14
  • 打赏
  • 举报
回复
就是按照指定的关键字搜索整个目录以及这个目录中的所有子目录。或者全文搜索?
faygoo 2002-11-14
  • 打赏
  • 举报
回复
你需要用一个递归函数来解决,如下:
private void getFilesInDir(String driver)
{
String[] files= Directory.GetFiles(driver,"*.*");
foreach(String file in files)
{
...//do ur job
}

String [] directories = Directory.GetDirectories(driver);
foreach(String directory in directories)
{
getProgramsInDir(directory);
}
}

111,116

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧