public static void ManageFileSystem() { Stopwatch.Start(); { Console.Write("Loading..."); var fileSystem = new FileSystemManager(); fileSystem.BuildDirectoryTree(DirectoryPath); Console.WriteLine("\rTotal folders: {0}\n", fileSystem.Paths.Count); var baseFolder = fileSystem[DirectoryPath]; PrintFolderInformation(baseFolder, fileSystem, prefix: "Base "); foreach (var childFolder in baseFolder.ChildFolders) { PrintFolderInformation(childFolder, fileSystem, prefix: " "); } } Stopwatch.Stop(); Console.WriteLine("\nElapsed time: {0}\n", Stopwatch.Elapsed); }
private static void PrintFolderInformation(Folder folder, FileSystemManager fileSystem, string prefix = null) { var folderSize = fileSystem.CalculateSumOfFilesSizeInSubtree(folder); Console.WriteLine("{2}{0} | Size: {1} bytes", folder, folderSize, prefix); }