遞歸實現遍歷文件夾的兩種方法

在網上,遍歷文件夾的算法大多是用遞歸思想實現的 ,我查了一下資料,結合應用實際,總結了兩個方法。

方法一、

 

public void FindAllFiles(string path)
        
{
            
if (Directory.Exists(path)==true )
            
{

               DirectoryInfo[] ChildDirectory;
//子目錄集
                FileInfo[] NewFileInfo;//當前所有文件
                DirectoryInfo FatherDirectory = new DirectoryInfo(path); //當前目錄
                ChildDirectory = FatherDirectory.GetDirectories("*.*"); //得到子目錄集

                NewFileInfo 
= FatherDirectory.GetFiles();//得到文件集,可以進行操作
               foreach (FileInfo file in NewFileInfo)
               
{
                  
                       listBox1.Items.Add((Object)file.FullName);
                  
              }

                
foreach (DirectoryInfo dirInfo in ChildDirectory)
               
{
                   FindAllFiles(dirInfo.FullName);
               }

          }

           
        }

 

方法二、

 

private void FindAllFiles(string folderpath)
        
{

            
if (Directory.Exists(folderpath) == true)
            
{

                
foreach (string str in Directory.GetFiles(folderpath))
                
{
                    
                        listBox1.Items.Add((Object)str.ToString());

                }

                
foreach (string strfolder in Directory.GetDirectories(folderpath))
                
{
                    FindAllFiles(strfolder);
                }


            }


        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章