搜索目录里所有文件(包括子目录)
搜索目录里所有文件(包括子目录)
资料来源:http://www.cnblogs.com/jjwwww/archive/2004/09/04/39559.aspx
用到两个函数ParseDirectory 和CreatePathList
{
string[] dirs = Directory.GetDirectories(path);//得到子目录
IEnumerator iter = dirs.GetEnumerator();
while(iter.MoveNext())
{
string str = (string)(iter.Current);
ParseDirectory(str, filter);
}
string[] files = Directory.GetFiles(path, filter);
if(files.Length > 0)
{
m_numFiles += files.Length;
m_pathList.Add(files);
}
}
{
if(m_numFiles <= 0)
{
return null;
}
string[] str = new string[m_numFiles];
int index = 0;
try
{
IEnumerator pathIter = m_pathList.GetEnumerator();
while(pathIter.MoveNext())
{
string[] ar = (string[])(pathIter.Current);
IEnumerator fileIter = ar.GetEnumerator();
while(fileIter.MoveNext())
{
str[index] = (string)(fileIter.Current);
++index;
}
}
}
catch(Exception e)
{
return null;
}
return str;
}
# 非递归实现re: 搜索目录里所有文件(包括子目录)
void ParseDirectory(string path, string filter)
{
Queue q=new Queue();
q.Enqueue(path);
while(q.Count > 0) {
string path=(string)q.Dequeue();
string[] files = Directory.GetFiles(path,filter);
if(files.Length > 0) {
m_numFiles += files.Length;
m_pathList.Add(files);
}
string[] dirs = Directory.GetDirectories(path);
foreach(string dir in dirs){
q.Enqueue(dir);
}
}
}
使用范例:如果要查找的:d目录下所有mp3文件
string path="d:\\"; //目录名 也可以用相当路径
string filter="*.mp3"; //文件类型
int m_numFiles=0; //文件总数
ArrayList m_pathList = new ArrayList();//包含所有文件路径的数组
string[] files; //所有文件名
ParseDirectory(path, "*.mp3");
files=CreatePathList(); //生成文件名数组
if(files == null)
{
throw new Exception(String.Concat("No file found in ", path));
}
转载于:https://www.cnblogs.com/soldier/archive/2004/09/06/40148.html
搜索目录里所有文件(包括子目录)相关推荐
- c# 遍历文件夹深度_C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)...
//遍历一个目录下所有的文件列表,代码实例 DirectoryInfo dir = new DirectoryInfo(folderName); var list = GetAll(dir); /// ...
- php如何将读取到的mysql内容按发布的日期分割显示_php如何读取文件夹目录里的文件并按照日期,大小,名称排序...
最近用到的php读取文件夹目录里的文件,并按照日期,大小,名称排序,所以写了一个方法,备用. function dir_size($dir,$url){ $dh = @opendir($dir); ...
- 用计算机查找文件地址吗,如何快速搜索电脑里的文件( 快速准确定位和查找电脑文件位置的方法...
今天给大家带来如何快速搜索电脑里的文件(,快速准确定位和查找电脑文件位置的方法,让您轻松解决问题. 怎样快速搜索电脑里的文件 如何快速准确定位和查找电脑文件位.我们在使用电脑的时候,经常需要进行一些操 ...
- python 遍历搜索 目录下所有文件
python 遍历搜索 目录下所有文件 import osdef search_dir_all_files(input_dir):files_list=[]for root, dirs, files ...
- 搜索目录下 匹配文件中 最新的文件 路径
搜索目录下 匹配文件中 最新的文件 路径 1 #!/usr/bin/python 2 import os 3 import glob 4 path = "/homeyufei/tes ...
- linux 目录中的文件和子目录生成jar包文件的方法
linux 目录中的文件和子目录生成jar包文件的方法 jar cvf spark-libs.jar -C //usr/cwgis/app/spark/jars/ .//注意:.点前面有一个空格 [r ...
- 如何搜索百度云盘里的文件
如何搜索百度云盘里的文件 其实很很简单,我悄悄用了很久了,可以说是屡试不爽,想要查找什么资源,百度,谷歌双引擎搜索.绝对不骗 人,看我下面的演示.只需要输入一个地址即可: 1.首先输入地 ...
- linux命令如何删除子目录文件,Linux如何删除目录下所有文件包括子目录
Linux删除目录下所有文件包括子目录方法:rm -rf 目录名. Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间).以后借助于 ...
- QQ目录里哪个文件是记录系统消息的?
CardMgr? Config?ewh? MsgEx? notes? ShareInfo? User? VQQ? 还是其他的文件? 解答: 应该是MsgEx.db,不过这个也难说,至今没有统一出来到底 ...
最新文章
- 如何制作EDM邮件的内容
- java 数据反射_基本操作--反射填充数据
- 【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)
- 【新功能,新插件】-全新来袭,CSDN浏览器助手这一款无广告干净界面插件你值得拥有!
- Windows下打包maven项目,编写bat脚本,dos命令在后台运行与关闭
- 拉格朗日乘子法 KKT条件
- 验证java 递增不是原子操作
- java spring框架 注解_spring框架之注解的使用
- Spring Security记住我功能之潜在的账号盗取风险
- 微型计算机三级项目,微机原理三级项目.doc
- Android Jetpack组件(九)DataStore
- PAT-厘米换算英尺英寸(简单编程题)
- 多张图片合成一张jpg工具_将多张图片合并成一张图片的小工具Collagerator
- Markdown|书单
- 福利来了!html类名大合集一,需要的快收藏!
- 英语口语8000句 pdf_英语口语 — Track 01表达技巧
- 批量去除PDF的水印(完全免费)
- 剪刀石头布二(ptwo) 时限:1s 空间:256m
- SI512国产13.56MHz低功耗NFC前端芯片替代PN532/PN512
- (iOS) App防抓包
热门文章
- (五):C++分布式实时应用框架——微服务架构的演进
- 单点登录系统cas资料汇总
- 1、EJB基本概念及运行环境
- android下创建文件夹和修改其权限的方法
- HTTP详解(转载)
- [问题]魔兽双击地面回到选中的单位
- asp.net通用用户初始化类,登录后初始化,随时随地可以应用
- Ping, IPConfig, Format, Netstat, etc. Not Recognized as Commands
- 深度学习简介(一)——卷积神经网络
- 瑞芯微最新智能音箱低成本方案RK2108