static void Main(string[] args)
        {
            DirectoryInfo dir = new DirectoryInfo("../..");
            Folder fold = new Folder(dir.Name, null, null);

            Tree<Folder> folders = new Tree<Folder>(fold);
            DirectoryTraversal(folders, dir);
        }
        public static void DirectoryTraversal(Tree<Folder> folder, DirectoryInfo dir)
        {
            File[] files = new File[dir.GetFiles().Length];
            FileInfo[] filesInfo = dir.GetFiles();
            for (int i = 0; i < filesInfo.Length; i++)
            {
                files[i] = new File(filesInfo[i].Name, filesInfo[i].Length);
            }

            folder.Value.Files = files;
            List<Folder> childFolders = new List<Folder>();
            foreach (var directory in dir.GetDirectories())
            {
                Folder fold = new Folder(directory.Name, null, null);
                Tree<Folder> node = new Tree<Folder>(fold);
                DirectoryTraversal(node, directory);
                folder.Children.Add(node);
                childFolders.Add(fold);
                node.Parent = folder;
            }

            folder.Value.ChildFolders = childFolders.ToArray();
        }
Exemple #3
0
 public Folder(string name, Folder[] folders, File[] files)
 {
     this.Name = name;
     this.ChildFolders = folders;
     this.Files = files;
 }