Считать файл и вывести на консоль, сколько раз встречался каждый символ - C#
Формулировка задачи:
Привет !
Я умею считывать из файла текст и записывать его в другой файл или выводить на консоль.
Я считывал по символу, но не знаю, как правильно их запомнить, чтобы потом проверить и в конечном итоге вывести на консоль Console.WriteLine("{0} {1}", symbol, count).
Подскажите, кто знает.
Подскажите, что значит: считать файл, который принят в качестве параметра из командной строки ?
Как это реализовать ?
string pathSource = "text.txt"; string pathNew = "text2.txt"; try { using (FileStream fsSource = new FileStream(pathSource, FileMode.Open, FileAccess.Read)) { // Read the source file into a byte array. byte[] bytes = new byte[fsSource.Length]; int numBytesToRead = (int)fsSource.Length; int numBytesRead = 0; while (numBytesToRead > 0) { // Read may return anything from 0 to numBytesToRead. int n = fsSource.Read(bytes, numBytesRead, numBytesToRead); // Break when the end of the file is reached. if (n == 0) break; numBytesRead += n; numBytesToRead -= n; } numBytesToRead = bytes.Length; // Write the byte array to the other FileStream. using (FileStream fsNew = new FileStream(pathNew, FileMode.Create, FileAccess.Write)) { fsNew.Write(bytes, 0, numBytesToRead); } } } catch (FileNotFoundException ioEx) { Console.WriteLine(ioEx.Message); }
Уже решил сам
var d=new Dictionary<char,int>(); foreach (char c in File.ReadAllText("text.txt", Encoding.Default)) if (!Char.IsControl(c)) if (d.ContainsKey(c)) d[c]++; else d.Add(c, 1); foreach (var kp in d) Console.WriteLine("Символ: {0} встречается {1} раз", kp.Key, kp.Value);
Решение задачи: «Считать файл и вывести на консоль, сколько раз встречался каждый символ»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { string dataString = "jguvinnghHHyfhsbbrfna''hi mdhsyGGTECCnfh"; var allGroups = dataString.GroupBy(s => (int)s).OrderBy(s => s.Key); foreach (var group in allGroups) { Console.WriteLine("Символ {0} встречается {1} раз", (char)group.Key, group.Count()); } Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д