欢迎来到忆约科技! 手机版
编程专栏
网络探索
科技频道
社会话题
美文鉴赏

C# 递归遍历所有目录,文件

编辑时间:2017年08月22日 08:27 作者:E小编

        #region 递归遍历所有目录
        // 调用 GetAllDirList("D:\\001");
        static List<string> folderList = new List<string>();
        /// <summary>
        /// 递归遍历所有目录
        /// </summary>
        /// <param name="dir">传入路径</param>
        static void GetAllDirList(string dir)
        {
            //DirectoryInfo di=new DirectoryInfo(strBaseDir);//strBaseDir是起始目录,绝对地址  
            //DirectoryInfo[] diA=di.GetDirectories();//获得了所有一级子目录  
            //FileInfo[] fiA=di.GetFiles();//获得了所有起始目录下的文件  

            DirectoryInfo di = new DirectoryInfo(dir);
            foreach (DirectoryInfo diNext in di.GetDirectories())
            {
                // 目录
                folderList.Add(diNext.FullName);
                // 遍历目录
                GetAllDirList(diNext.FullName);
            }
        }
        #endregion

        #region 递归遍历所有文件
        // 调用 GetAllFileList("D:\\001");
        static List<string> fileList = new List<string>();
        /// <summary>
        /// 递归遍历所有文件
        /// </summary>
        /// <param name="dir">传入路径</param>
        void GetAllFileList(string dir)
        {
            DirectoryInfo di = new DirectoryInfo(dir);
            foreach (DirectoryInfo diNext in di.GetDirectories())
            {
                // 遍历目录下的文件
                foreach (FileInfo NextFile in diNext.GetFiles())
                {
                    //if (NextFile.Name.Equals("data.mdb"))
                    //{
                        fileList.Add(diNext.FullName + "\\" + NextFile.Name);
                    //}
                }
                // 遍历目录
                GetAllFileList(diNext.FullName);
            }
        }
        #endregion
二维码