说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

c#采用递归非递归两种方式遍历目录下所有文件

HTML文档下载 WORD文档下载 PDF文档下载
递归有其劣势,会遭到某些人的歧视,这里给出递归,非递归两种方案。

 

一、递归方式遍历目录

 

public void GetFiles1(string pathname){	string[] subFiles = Directory.GetFiles(pathname);	foreach (string subFile in subFiles)	{		Console.WriteLine(subFile);	}	string[] subDirs = Directory.GetDirectories(pathname);	foreach (string subDir in subDirs)	{		GetFiles1(subDir);	}}

二、非递归方式遍历目录

采用堆栈,将目录压入堆栈实现遍历。

public void GetFiles2(string pathname){	Stack<string> skDir = new Stack<string>();	skDir.Push(pathname);	while (skDir.Count > 0)	{		pathname = skDir.Pop();		string[] subDirs = Directory.GetDirectories(pathname);		string[] subFiles = Directory.GetFiles(pathname);		if (subDirs != null)		{			for (int i = 0; i < subDirs.Length; i++)			{				//string dirName = Path.GetFileName(subDirs[i]);				skDir.Push(subDirs[i]);			}		}		if (subFiles != null)		{			for (int i = 0; i < subFiles.Length; i++)			{				//string fileName = Path.GetFileName(subFiles[i]);				// 处理文件				Console.WriteLine(subFiles[i]);			}		}	}}

调用方式:

GetFiles2("c:\\windows");

 

如果希望在遍历的过程中取得目录或文件的详细信息,可以用DirectoryInfo来代替string:

DirectoryInfo di = new DirectoryInfo(pathname);

DirectoryInfo[] diinfo = di.GetDirectories();

FileInfo[] fiinfo = di.GetFiles();

 

红帽大战Ubuntu:750小时免费企业版红帽套餐即将登陆AWS EMC Sanjay Mirchandani:92%虚拟化,使更少IT人拥有更大交付能力 从NSA携谷歌、微软等9家名企监控用户行为看数据安全 【专访间】新科兰德创始人左磊:我们的“卖点”是“数据弹药” 甲骨文公司宣布推出最新Java EE 7 10款最佳CSS/jQuery开源图片说明 创业者应避免对投资者说的五句话 直接拿来用!最火的iOS开源项目(二) 西部数据Pat Wilkison:云计算市场是创新热点 猎豹浏览器发布手机版:PM谈开发理念 成为伟大开发者的“九步曲” 使用GPU构建更便宜的Google神经网络 Facebook与Yahoo!的“火花”:系统间实时数据流管理工具 视金钱如粪土?Yahoo!又要买了,梅姐的算盘是这样打的 MySQL手册不再遵循GPL协议:MySQL走向闭源前兆? 扁平化设计会扼杀人们的创造力吗? 又一巨头涉足移动视频分享领域:传雅虎欲收购短视频应用Qwiki 史上最牛:主要靠三消游戏IPO King也许会是第一家 乐视超级电视预约启动 1小时预约近1.4万台 王坚:未来一年阿里云会有很大变化 梁胜:开源并不是做好软件的唯一方式 如何为IE 10编写特定的样式 MySQL手册许可证更改乃是Bug惹得祸 开源世界高峰论坛首批演讲议题公布 测试工程师的心灵鸡汤:谦虚、不沉默、有危机感、不断努力 高德地图API“沿图有你,晒出你的LBS应用”活动拉开帷幕! 谁能找出Windows 8.1的安全漏洞,就将获得微软10万美元奖金! 【直击美国云计算】Facebook分享数据中心新网络架构Fabric 【直击美国云计算】OCP发起产业界的Maker运动 红帽刘长春:开源是推动云计算和大数据发展的重要力量 【直击美国云计算】出货量达x86的20多倍 ARM或将成为数据中心主角 from里的参数传递为ENCTYPE="multipart/form-data"时的问题? 网吧问题 如何在txt文件中查找字符 请问如何实现当进入一个combox时自动下拉列表框(不用用鼠标去点) 关于volatile 修饰词 过去用Delphi开发数据库都是用Access,现在急需使用SQL Server。请问:我必须掌握SQL Server中的那些内容。 如果我想删除日志文件的所有记录该怎么办?????? 怎么样把两个ArrayList合并成一个??我在文档里找了半天也没找到!急~~!!!!!!! 请问,NT4.0下怎样配置网关和路由? 请问如何知道一个弹出菜单是否以经关闭 升级后问题,奇怪,请指教? 什么是存储过程? 大侠们帮忙看看,简单问题 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169. 请问怎样才能在Access中选取指定行数的记录如第5-10条. 关于XML命名空间的疑问?请教各位高手帮帮忙!谢谢! 请问哪里有《情深深雨蒙蒙》下载??? ******斑竹快出来啊 看看我这个贴子啊!!!!!!!!!!!!!! 如何读取寄存器中的数据? 请问在数据库中如何操作日期型字段: Help,如何把本机加入主域服务器? 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169 怎么用vbscript定义一个函数阿。我想作一个下拉框的onchange事件,请指教 如何确定adoquery的数据是否被修改了? 有关程序调试的问题 全都转行卖大白菜。 对于各个.h和.cpp文件分工如何,我的各种函数各个变量到底该放在哪个文件中的哪个class中? 如何停止asp调用的dll文件,我调用my_dll.dll文件一次之后就不能对my_dll.dll更改了,为什么?怎样解决? 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169.. 关于附件下载过程中权限控制的问题 如何编辑LILO文件? 糊涂啦。。。看看汉字库(hzk24)吧? 请问在listbox控件中如何设置特定行的颜色? 问一个关于ODBC的问题 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169.... 各位大侠,哪有设计专家系统的c语言的源代码阿(全分奉送)? 请问:如何处理MFC提供的CList类模板产生的异常问题呢? 散分!快抢! 调用对象 阿呆,只有你能救我了~~!!!!! 100大洋~~!!! Excel报表的汇总 请问VC有像Delphi或者C++Builder那样的作报表的工具吗? delphi怎么调用CHM文件啊? win98 登陆win nt Java远程调用的合法类型(legal types for Java RMI)都有哪些? 安装盘的制作问题 如何设置多个Timer? VFP的程序怎么才能运行在任何目录下?主程序应该怎么写? 这个问题很老套,但对于一个什么想成为一个优秀程序员的菜鸟来说,很重要,谢谢!进入........... @_@ 怎么灌水? 向资深灌水工请教! 难到这个问题没人回答吗?????http://www.csdn.net/Expert/topic/430/430088.shtm 等腰三角形面积怎么求 水平面上有一个物体受水平方向力的作用由静止开始无摩擦的运动,经过位移s1,速度达到v又经过位移s速度达到2v,则两段位移中该力所做功之比是多少? 将1~10这十个自然数分别填入图中的十个○内,使各条线段上四个○内数的和相等,每个三角形三个顶点上○内数的和也相等. 告诉我大量关于三角形面积公式继续,不管常用不常用若有推到过程加分(除海伦公式,内切圆) 已知三角形ABC的面积是2008平方厘米,是平行四边形DEFC的四倍.求阴影部分的面积下面的图还没有收到答案 在水平面上有一个质量为M的物体,在水平力作用下由静止开始运动一段距离后,到达一斜面底端.这时撤去外力.物体冲上斜面,沿斜面上滑的最大距离和水平面上运动的距离相等,然后物体又沿斜 运送液体的车,液体最上方的中间有气泡,当车开动时,气泡向哪运动,刹车时气泡向哪运动 一个三角形和一个平行四边形的面积相等,底也相等,如果三角形的高是10米,那么平行四边形的高是()米,如果平行四边形的高是10米,那么三角形的高是()米. 在恒定力F作用下,物体由静止开始运动,经过一段位移s后,速度达到v,做功为w.在相同的恒定合力F作用下,物体的速度由0增至nv,则F做得功是原来的___倍,若要物体的速度由v增至nv,则需对它做的功 如图所示,一个装水的玻璃管中有一个气泡,当玻璃管突然向左运动时,气泡会向()运动,这是因为()具有惯性 要比例 水平地面上有一质量为10kg的物体,在50N水平力作用下由静止开始运动,6秒内位移为36m,6s末撤去这个水平力,则再经 s,前进 m距离物体停止运动.快 已知三角形三边求面积的公式是? 气泡水可以自己做么? 一个三角形有多少个角?如果在三角形中添画一条线段,会增加多少个小于180 度角?在添画一条线段呢一个三角形有多少个角?如果在三角形中添画一条线段,会增加多少个小于180度角?在添画一条 知道三角形三边怎样求面积?用什么公式? 小孩子吹的泡泡水怎样做? 一个三角形从一个角到对边引一条线分成2个三角形,问:有这个三角形共有几个角对边的那个平角算不? 一个平行四边形的面积是128平方分米,底是高的2倍,底是多少分米,高是多少分米? 一个三角形与一个平行四边形的面积和底都相等,平行四边形的高是4厘米,三角形的高是多少厘米? 长16厘米宽10厘米的长方形框架拉成一平行四边形,面积减少16平发厘米,那这平行四边形的高是多少厘米 写出一个一次函数的表达式,使其图像与两坐标轴围成的3角形面积等于3 泡泡枪的泡泡水怎么做?要求:做法简单,并且可以使用放心,对宝宝无害? 把一个面积是81平方厘米的正方形框架拉成一个平行四边形框架,面积减少了4.5平方厘 已知一次函数的图象经过点(2,2),它与两坐标轴所围成的三角形的面积等于1,求这个一次函数的表达式 玩具泡泡枪里的泡泡水怎么配 材料中的“气球小车”是被怎样推动的 已知一次函数的图像经过(2.2),它与坐标轴的三角形面积等于1,则这个一次函数表达式是 将面积是72平方厘米的长方形框架拉成一个平行四边形后,面积减少9平方厘米.已知将一个面积是72平方厘米的长方形框架拉成一个平行四边形,面积减少了9平方厘米,已知长方形框架的长时9 从n边形出发,连接其余各顶点,n边形有几个三角形. 一次函数Y=-2X+b的图像与两坐标轴所围成的三角形的面积等于4,求此一次函数表达式 把一个长9厘米,宽6厘米的长方形框架拉成一个平行四边形,这时面积减少了10平方厘米,求平行四边形的面积 桌上放一个装满水的瓶子,中间有一个气泡,用手推一下瓶子,气泡将会向哪边运动,为什么? 汽车有几种刹车,我就知道气刹和油刹.还有气刹和油刹原理? 如何自做泡泡水 水平放置的小瓶内装有水,其中有气泡,当瓶子从静止状态突然向右运动时,小气泡在瓶内将向何方运动?当瓶子向右匀速运动突然停止时,小气泡在瓶内又将如和运动? 汽车刹车分为机械刹车 油刹车 气刹车 电子刹车 请问现在哪些分别运用了这些系统? 自制泡泡水过程作文怎么写 把一个长10cm宽8cm的长方形的框架拉成一个平行四边形这时面积减少了12平方cm平行四边形的高是多少cm用方程解 1.一个平行四边形的高为5.6平方分米,若底不变,高增加1.7平方分米,面积就增加23.8平方分米,那么原面积?A.78.4 B.33.32 C.7.225(直接说答案)2.小明计算除法,把除数54写成45,得到商10,余数36,正确商 如何自制吹泡泡水?小孩子玩的吹泡泡的玩具,用一个圆圈形的工具沾上泡泡水一吹,就能吹出好多泡泡, 桌上放一个装满水的瓶子,中间有一个气泡,用手推一下瓶子,气泡将是向前,但是气泡有惯性呀,不是先向原来位置的方向吗拜托,瓶子是横放的 ,气泡在液面 一个平行四边形面积是4点5平方分米底5分米高多少分米. 自制泡泡水怎么弄?怎么记得小时候肥皂水就可以了呢 在三角形内一顶点引射线,当引到30条射线时有多少个三角形,规律及公式? 一个平行四边形,若底不变,高减少3分米,面积就减少9平方分米.若高不变,底增加3分米,面积则增加15平方不能列方程 吹泡泡的水怎么自制 由三角形的一个顶点向对边引m条线段,可以得到多少个三角形?假设三角形个数为n,请写出n和m之间的关系式. 下面图中的两个平行四边形的高相等,其中阴影部分的面积是4平方分米,底是2.平行四边形的高是4分米,图形的总面积是多少? 把一个长为8厘米、宽为6厘米的长方形框架拉成一个平行四边形,这时面积减少了8平方厘米.求平行四边形的边为8厘米的边上的高是多少厘米? 1.三角形的中线是指连接三角形的一个顶点与它的对边的____的线段2.三角形的角平分线是指三角形的一个内角的____ __于对边交点的线段3.三角形的分类:①按___分,可分为______ _______ _______②按__ 汽车盘式刹车的刹车皮材料是什么?能再细致点吗? 1.把一个长为8厘米、宽为6厘米的长方形框架拉成一个平行四边形,这时面积减少了8平方厘米.求平行四边形边求平行四边形边长为8厘米的边上的高是多少厘米? 从三角形的一个顶点到它的对边作一条( ),( )之间的线段叫做三角形的高.( )叫做三角形的底. 汽车刹车盘和刹车皮那个贵我的车是老款九几年的现代索纳塔今天去换俩前轮刹车皮和刹车盘 修配厂出的配件价格是刹车皮原厂240元 副厂120元 刹车盘说是原厂但是没说价钱开始我要的都是 把一个长为8厘米,宽为6厘米的长方形框架拉成一个平行四边形,这时面积减少了8平方厘米.求平行四边形做边长为8厘米的边上高是多少厘米? 一辆运油的油罐车,油上方有气泡,当气泡突然想后运动时,此时车可能处于什么状态,为什么!要正确的答案, 等腰三角形的面积公式 只知腰长已知腰长为20厘米,求面积,求得出来吗 物体原来静止在水平地面上,在水平向东、大小不变的力作用下,物体做匀加速运动,经过一段位移到A点时速度为V.此时作用力方向不变、大小立即增大为原来的3倍,又经过同样大小的一段位移 三角形的一个顶点到()的()线段叫做三角形的高
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn