Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- namespace DirectoryTransversal
- {
- class Program
- {
- static void PrintDictionary (Dictionary<string, Dictionary<string, double>> fileCollection)
- {
- foreach(var extension in fileCollection)
- {
- Console.WriteLine(extension.Key);
- foreach(var pair in extension.Value)
- {
- Console.WriteLine("file name: {0} - file size {1}", pair.Key, pair.Value);
- }
- }
- }
- static void Main()
- {
- Dictionary<string, Dictionary<string, double>> fileCollection = new Dictionary<string, Dictionary<string, double>>();
- string directory = @"../../";
- DirectoryInfo dirFiles = new DirectoryInfo(directory);
- foreach(FileInfo file in dirFiles.GetFiles())
- {
- string extension = file.Extension.ToString();
- string name = file.Name.ToString();
- double size = file.Length;
- if (!fileCollection.ContainsKey(extension))
- {
- fileCollection[extension] = new Dictionary<string, double>();
- }
- fileCollection[extension].Add(name, size);
- }
- PrintDictionary(fileCollection);
- var sortedFiles = fileCollection.OrderByDescending(x => x.Value.Keys.Count).ThenBy(k => k.Value.Values);
- StreamWriter outputStream = new StreamWriter(string.Format("{0}log.txt", directory));
- using (outputStream)
- {
- foreach (var pair in sortedFiles)
- {
- outputStream.WriteLine(pair.Key.ToString());
- foreach (var file in pair.Value)
- {
- outputStream.WriteLine("file name: {0} - file size {1}", pair.Key, pair.Value);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment