zoukankan      html  css  js  c++  java
  • 遍历文件夹及文件

    遍历文件夹及文件

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace Lab
    {
        class Program
        {
            static void Main(string[] args)
            {
                ProcessDir(@"F:\Todo\MVC", 1);
                Console.ReadLine();
            }
            const int HowDeepToScan = 3;
            ArrayList dirList = new ArrayList();
            static int numTopFolder;
            static string rootDir = @"F:\Todo\MVC";
            static int numFile;
            public static void ProcessDir(string sourceDir, int recursionLvl)
            {
                if (numFile == 0)
                {
                    numTopFolder = Directory.GetDirectories(rootDir).Length;
                }
                if (recursionLvl <= HowDeepToScan)
                {
                    // Process the list of files found in the directory. 
                    string[] fileEntries = Directory.GetFiles(sourceDir);
                    foreach (string fileName in fileEntries)
                    {
                        // do something with fileName
                        Console.WriteLine("file:"+fileName);
                        if(numFile % 3 == 0 & numFile!=0)
                        {
                            Console.WriteLine("Update on batch1");
                        }
                        numFile++;
                    }
    
                    // Recurse into subdirectories of this directory.
                    string[] subdirEntries = Directory.GetDirectories(sourceDir);
                    foreach (string subdir in subdirEntries)
                        // Do not iterate through reparse points
                        if ((File.GetAttributes(subdir) &
                             FileAttributes.ReparsePoint) !=
                                 FileAttributes.ReparsePoint)
                        {
                            Console.WriteLine(subdir.ToString() + ";recursionLvl:" + recursionLvl);
                            if (recursionLvl == 1)
                            {
                                numTopFolder--;
                            }
                            ProcessDir(subdir, recursionLvl + 1);
                        }
                }            
               
                if (numTopFolder==0 & string.Equals(rootDir,sourceDir))
                {
                    Console.WriteLine("Update on batch2" + ";numFile:"+numFile);
                }
            }
        }
    }
  • 相关阅读:
    推送(评论,点赞,关注)
    php组成数组
    week6 10 后端backend server和mongoDB通信
    week06 09 NodeJS Server as a RPCclient
    week06 08 postman 测试jsonrpc
    week06 07 创建RPC SERVER 换个镜像安装下载
    week05 06绑定滚动条 去抖动
    week05 05restful api
    week5 04 npm run build
    week5 03 continus loading news
  • 原文地址:https://www.cnblogs.com/mingle/p/2814477.html
Copyright © 2011-2022 走看看