public void CreateFileTree(string pathToCopyFrom, Folder orginFolder)
        {
            try
            {
                Folder currentFodler = new Folder(pathToCopyFrom);
                orginFolder.AddFiles(GetFiles(pathToCopyFrom));
                string[] dirs = Directory.GetDirectories(pathToCopyFrom);

                if (dirs.Length > 0)
                {
                    for (int i = 0; i < dirs.Length; i++)
                    {
                        orginFolder.AddFolder(currentFodler);
                        CreateFileTree(dirs[i], currentFodler);
                    }
                }
                else
                {
                    return;
                }
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("Directory: {0}, CAN NOT be accessed!", pathToCopyFrom);
                return;
            }
        }
Example #2
0
        public static void Main()
        {
            string dir = @"D:\SAO";
            Folder directoryCopyFolder = new Folder("D folder");

            FileTreeUtils.CreateFileTree(dir, directoryCopyFolder);
            BigInteger size = 0;

            Console.WriteLine("Note: Use small directories for faster calculation.");
            Console.WriteLine(new string('-', Console.WindowWidth - 2));
            Console.WriteLine("Calcualting folder size, pleace wait.....");
            Console.WriteLine(new string('-', Console.WindowWidth - 2));
            Console.WriteLine("Folder {0} size is {1}", dir, directoryCopyFolder.GetFolderSize(size));
        }
Example #3
0
        static Folder Traverse(string root)
        {
            var folder = new Folder(root);

            foreach (string file in Directory.GetFiles(root))
            {
                folder.AddFile(new File(file, new FileInfo(file).Length));
            }

            foreach (string directory in Directory.GetDirectories(root))
            {
                folder.AddFolder(Traverse(directory));
            }

            return folder;

        }
Example #4
0
 public void AddFolder(Folder currentFolder)
 {
     this.folders.Add(currentFolder);
 }