public bool GetInfoFromFile(string ext, ref CStudents cs) { bool res = true; if (cs == null) { cs = new CStudents(); } else { cs.Collection.Clear(); } ext = ext.Trim(); ext = ext.ToLower(); switch (ext) { case ".bin": WorkWithBinary work = new WorkWithBinary(); res = work.GetAllFromFile(ref cs); break; case ".xml": WorkWithXml xml = new WorkWithXml(); res = xml.GetAllFromFile(ref cs); break; case ".txt": WorkWithText text = new WorkWithText(); res = text.GetAllFromFile(ref cs); break; } return(res); }
public bool PutInfoToFile(CStudents cs, string ext, bool Save) { cs.CleanList(); if (!cs.IsAllCorrect()) { MessageBox.Show("You did not filled all fields", "Uncorrect data", MessageBoxButtons.OK, MessageBoxIcon.Hand); Save = true; return(false); } else { ext = ext.Trim(); ext = ext.ToLower(); switch (ext) { case ".bin": WorkWithBinary work = new WorkWithBinary(); work.PutAllToFile(cs); break; case ".xml": WorkWithXml xml = new WorkWithXml(); xml.PutAllToFile(cs); break; case ".txt": default: WorkWithText text = new WorkWithText(); text.PutAllToFile(cs); break; } Save = false; return(true); } }
public void TestDocxFiles() { string s = $"бщцфаирщри, бл ячъбиуъ щбюэсяёш гфуаа!!!\nу ъящэячэц ъэюоык, едщ бдв саэацкшгнбяр гчеа кчфцшубп цу ьгщпя вщвсящ, эвэчрысй юяуъщнщхо шпуъликугбз чъцшья с цощъвчщ ъфмес ю лгюлэ ёъяяр! с моыящш шпмоец щаярдш цяэубфъ аьгэотызуа дщ, щръ кй юцкъщчьуац уыхэцэ ясч юбюяуяг ыовзсгюамщщ. внютвж тхыч эядкъябе цн юкъль, мэсццогл шяьфыоэьь ть эщсщжнашанэ ыюцен, уёюяыцчан мах гъъьуун шпмоыъй ч яяьпщъхэтпык яущм бпйэае! чэьюмуд, оээ скфч саьбрвчёыа эядуцйт ъ уьгфщуяяёу фси а эацэтшцэч юпапёи, ьь уъубфмч ысь хффы ужц чьяцнааущ эгъщйаъф, ч п эиттпьк ярвчг гмубзньцы! щб ьшяо шачюрэсч FirstLineSoftware ц ешчтфщацдпбр шыыь, р ыоф ячцсвкрщве бттй а ядсецсцкюкх эшашёрэсуъ якжще увюгщр в# уфн ысвчюпжзцж! чй ёюычъ бщххыибй еьюхечр п хкъмэншёцч юятщвфцшчщ с хчю ъэ ч аачсюсчыщачрняун в шъюьэжцясиьццч агфуо ацаьяычсцы .Net, чэбф ыуюбпьщо с чыдпяхбцйг щктрж!"; Assert.AreEqual(s.Substring(0, 40), WorkWithText.ParseWord(AppDomain.CurrentDomain.BaseDirectory + @"\Test\Result_v5.docx").Substring(0, 40)); Assert.AreEqual("", WorkWithText.ParseWord(AppDomain.CurrentDomain.BaseDirectory + @"\Test\AppDataDocx.docx"));//корректность работы программы при пустом файле }
static void Main(string[] args) { string allText = File.ReadAllText("E:\\text.txt"); //Однопоточный режим long freq = Stopwatch.Frequency; Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); var workWithText = new WorkWithText(); var workWithTextType = typeof(WorkWithText); var methods = workWithTextType.GetMethods(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly); object[] argsFor = new object[1]; argsFor[0] = allText; Dictionary <string, int> wordList = null; for (int k = 0; k < methods.Length; k++) { if (methods[k].Name.Equals("GetDictionary")) { wordList = (Dictionary <string, int>)methods[k].Invoke(workWithText, argsFor); } } using (FileStream fs = new FileStream("E:\\textResalt.txt", FileMode.OpenOrCreate)) { using (TextWriter tw = new StreamWriter(fs)) foreach (KeyValuePair <string, int> kvp in wordList) { tw.WriteLine(string.Format("{0};{1}", kvp.Key, kvp.Value)); } } stopwatch.Stop(); double sec = (double)stopwatch.ElapsedTicks / freq; Console.WriteLine("Однопоточный режим - " + sec); //Многопоточный режим long freq1 = Stopwatch.Frequency; Stopwatch stopwatch1 = new Stopwatch(); stopwatch1.Start(); var workWithText1 = new WorkWithText(); Dictionary <string, int> wordList1 = workWithText1.GetDictionaryOnThread(allText); using (FileStream fs = new FileStream("E:\\textResalt1.txt", FileMode.OpenOrCreate)) { using (TextWriter tw = new StreamWriter(fs)) foreach (KeyValuePair <string, int> kvp in wordList) { tw.WriteLine(string.Format("{0};{1}", kvp.Key, kvp.Value)); } } stopwatch1.Stop(); double sec1 = (double)stopwatch1.ElapsedTicks / freq1; Console.WriteLine("Многопоточный режим - " + sec1); Console.ReadLine(); }