博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归和非递归遍历文件
阅读量:5874 次
发布时间:2019-06-19

本文共 1963 字,大约阅读时间需要 6 分钟。

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 遍历目录{    class Program    {        static void GetAllFiles(string dirPath)        {            List
list = new List
(); DirectoryInfo dir = new DirectoryInfo(dirPath); DirectoryInfo[] dirList = dir.GetDirectories(); for (int i = 0; i < dirList.Length; i++) { list.Add(dirList[i].FullName); GetAllFiles(dirList[i].FullName); } for (int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } } static void GetAllFile2(string dirPath) { Stack
skDir = new Stack
(); skDir.Push(dirPath); while (skDir.Count > 0) { dirPath = skDir.Pop(); string[] subDirs = Directory.GetDirectories(dirPath); string[] subFiles = Directory.GetFiles(dirPath); if(subDirs != null) { for (int i = 0; i < subDirs.Length; i++) { //Path.GetFileName(subDirs[i]); skDir.Push(subDirs[i]); } } if (subFiles != null) { for (int i = 0; i < subFiles.Length; i++) { Console.WriteLine(subFiles[i]); } } } } static void Main(string[] args) { long startTime = DateTime.Now.Ticks; string dir = @"F:\开发资料"; GetAllFile2(dir); long endTime = DateTime.Now.Ticks; Console.WriteLine("耗时{0}", endTime - startTime); } }}

  

转载于:https://www.cnblogs.com/ZyCoder/p/6034951.html

你可能感兴趣的文章
POJ 1915-Knight Moves (单向BFS &amp;&amp; 双向BFS 比)
查看>>
java中在linux下利用jstack检测死锁
查看>>
linux编译安装LAMP
查看>>
php中的continue用法
查看>>
Android小游戏应用---撕破美女衣服游戏
查看>>
TextKit简单示例
查看>>
网格最短路径算法(Dijkstra & Fast Marching)(转)
查看>>
最短路径算法-Dijkstra算法的应用之单词转换(词梯问题)
查看>>
软链接和硬链接详解
查看>>
HTML5 video 视频标签 常用属性
查看>>
深入理解javascript对象系列第一篇——初识对象
查看>>
Redis_master-slave模式
查看>>
qemu安装
查看>>
多媒体开发之rtmp---rtmp client 端的实现
查看>>
3.使用Maven构建Web项目
查看>>
iView实现自定义Modal
查看>>
如何在云帮上配置https
查看>>
JQuery干货篇之插入元素
查看>>
Imperva开源域目录控制器,简化活动目录集成
查看>>
可观察性驱动开发,探索未知之地
查看>>