Home > Technology > Reading a directory tree

Reading a directory tree

(Another snippet I originally posted to CodeKeep.)

Code:

 

public static class FileManagement
{

    public static List<FileInfo> GetFiles(string rootDirectory)
    {

        Debug.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "() called.");
           
        DirectoryInfo di = new DirectoryInfo(rootDirectory);
        List<FileInfo> files = new List<FileInfo>();

        GetFileList(di, ref files);

        foreach (FileInfo file in files)
            Debug.WriteLine(file.FullName);

        return files;
    }

    private static void GetFileList(DirectoryInfo di, ref List<FileInfo> files)
    {

        Debug.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "() called.");
   
        foreach (FileInfo file in di.GetFiles())
            files.Add(file);

        foreach (DirectoryInfo innerDir in di.GetDirectories())
            GetFileList(innerDir, ref files);

    }

}

 

Usage:

 

List<FileInfo> files = GetFiles(rootDirectory);

Tags: ,
  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.