public static Folder TraverseFolders(string path, ref Folder myFolder) { //DirectoryInfo di = new DirectoryInfo(path); //Folder myFolder = new Folder(di.Name); var subFolders = Directory.GetDirectories(path); var files = Directory.GetFiles(path); foreach (var file in files) { FileInfo fi = new FileInfo(file); File fileToAdd = new File(fi.Name, fi.Length); myFolder.AddFile(fileToAdd); } foreach (var subFolder in subFolders) { DirectoryInfo dir = new DirectoryInfo(subFolder); Folder folderToAdd = new Folder(dir.Name); myFolder.AddFolder(folderToAdd); TraverseFolders(subFolder, ref folderToAdd); } return myFolder; }
public static void Main() { DirectoryInfo di = new DirectoryInfo(Path); Folder myFolder = new Folder(di.Name); TraverseFolders(Path, ref myFolder); Console.WriteLine(myFolder); Console.WriteLine(); }
public void AddFolder(Folder newFolder) { if (newFolder == null) { throw new ArgumentException("Cannot add null Folder."); } this.ChildFolders.Add(newFolder); }
private static Folder CreateFolder(string path) { DirectoryInfo di = new DirectoryInfo(path); Folder myFolder = new Folder(di.Name); return myFolder; }