public void AddPath(string path, LocStats fileStats) { //Console.WriteLine(path); var parts = path.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries); if (parts.Length > 1) { // The file is in another subfolder var subfolder = GetOrCreateFolder(parts[0]); subfolder.AddPath(string.Join(Path.DirectorySeparatorChar, parts.Skip(1)), fileStats); } else { // Seems to be a file var fileName = parts[0]; Files.Add(new LocFile { Name = fileName, Stats = fileStats, FullPath = Path.Combine(FullPath, fileName) }); } // Add the stats to the current folder Stats += fileStats; }
public LocFolder() { Folders = new List <LocFolder>(); Files = new List <LocFile>(); Stats = new LocStats("Folder", 0, 0, 0); }