Запись в массив с проверкой - C#
Формулировка задачи:
Здравствуйте, не могу понять как записать в массив каждую из строк текстового файла с остановкой записи в случае и ее возобновлении на заданной точке в случае возникновения какой-либо ошибки, текстовый файл имеет структуру
1 10.11.12 4000
2 20.07.14 5000
3 14.05.10 8000
4 05.06.09 3000
разделить пробел, при этом необходимо предать элемент массива , а массивом должна выступать каждая строка в стороннюю программу.
Решение задачи: «Запись в массив с проверкой»
textual
Листинг программы
static void ReadStringFromFile() { FileStream fs = null; FileStream fsCounter = null; StreamWriter swCounter = null; string str; string[] ar = new string[0]; int count; try { fs = new FileStream("test.txt", FileMode.Open); fsCounter = new FileStream("count.txt", FileMode.Open); } catch (IOException ex) { Console.WriteLine(ex.Message); } //Проверим, было ли что-то передано ранее, если да, то count=x StreamReader srCouner = new StreamReader(fsCounter); try { count = int.Parse(srCouner.ReadLine()); } catch (IOException ex) { Console.WriteLine(ex.Message); count = 0; } finally { srCouner.Close(); } StreamReader sr = new StreamReader(fs); try { //Если было передано, то пропускаем это количество строк if(count > 0) { for (int i = 0; i < count; i++) { str = sr.ReadLine(); } } while ((str = sr.ReadLine()) != null) { //теперь откроем файл счётчика для записи swCounter = new StreamWriter("count.txt", false); Array.Resize(ref ar, ar.Length + 1); ar[ar.Length - 1] = str; count += 1; swCounter.Write(count.ToString()); swCounter.Close(); } } catch (IOException ex) { Console.WriteLine(ex.Message); } finally { sr.Close(); swCounter.Close(); } foreach (string s in ar) { Console.WriteLine(s); } Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д