using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Collections; namespace Length { class Program { static void Main(string[] args) { int[] fileNameLengths = new int[255]; Recurse(ref fileNameLengths, new DirectoryInfo("C:\\")); TextWriter writer = new StreamWriter("C:\\lengths.csv"); writer.WriteLine("Length, Count"); for (int i = 0; i < fileNameLengths.Length; i++) writer.WriteLine("{0}, {1}", new Object[] { i, fileNameLengths[i] }); writer.Close(); //AlphaNumbers(); //Console.ReadLine(); } private static void AlphaNumbers() { TextReader reader = new StreamReader("C:\\english.txt"); String sz; Dictionary table = new Dictionary(); while ((sz = reader.ReadLine()) != null) { char starting = sz.ToUpperInvariant().ToCharArray()[0]; int temp; if (table.TryGetValue(starting, out temp)) { temp++; table[starting] = temp; }else{ table.Add(starting, 1); } } TextWriter write = new StreamWriter("C:\\list.txt"); foreach (KeyValuePair zam in table) { write.WriteLine("{0}: {1}", new object[] { zam.Key, zam.Value }); } write.Close(); } private static void Recurse(ref int[] numbers, DirectoryInfo directory) { try { foreach (FileInfo file in directory.GetFiles()) { if (file.Name.Length < numbers.Length) numbers[file.Name.Length]++; else numbers[numbers.Length - 1]++; } } catch { return; } foreach (DirectoryInfo subDirectory in directory.GetDirectories()) { Recurse(ref numbers, subDirectory); } } } }