c# 遍歷目錄

public static List<string> TraverseDirector(string dir, bool isTraveSubDirFlag, bool isFilterSuffix, string suffix)
        {
            string suffix_ = "*.*";
            if (isFilterSuffix)
            {
                suffix_ = suffix;
            }

            List<String> list = new List<string>();
            DirectoryInfo d = new DirectoryInfo(dir);

            FileSystemInfo[] fsinfos = d.GetFileSystemInfos(suffix_, SearchOption.TopDirectoryOnly);//filter file format
            //FileSystemInfo[] fsinfos = d.GetFileSystemInfos();//
            foreach (FileSystemInfo fsinfo in fsinfos)
            {
                if (fsinfo is DirectoryInfo)     //判斷是否爲文件夾
                {
                    if (isTraveSubDirFlag)
                    {
                        List<String> listSubFolder = TraverseDirector(fsinfo.FullName, isTraveSubDirFlag, isFilterSuffix, suffix);//遞歸調用
                        list.AddRange(listSubFolder);
                    }
                }
                else
                {
                    //Console.WriteLine(fsinfo.FullName);//輸出文件的所有路徑
                    list.Add(fsinfo.FullName);
                }
            }
            return list;
        }
相關文章
相關標籤/搜索