zoukankan      html  css  js  c++  java
  • 递归和非递归遍历文件

    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<string> list = new List<string>();
                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<string> skDir = new Stack<string>();
                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);
            }
        }
    }
    

      

  • 相关阅读:
    MacOS如何正确配置Idea自带Maven插件的环境变量?(亲测)
    通过Canvas实现画板
    插入排序
    选择排序
    冒泡排序法
    进制
    JDBC(宠物管理系统)
    银行ATM存取款机系统MySQL数据库
    高级查询(二)
    高级查询
  • 原文地址:https://www.cnblogs.com/ZyCoder/p/6034951.html
Copyright © 2011-2022 走看看