Запись в массив с проверкой - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, не могу понять как записать в массив каждую из строк текстового файла с остановкой записи в случае и ее возобновлении на заданной точке в случае возникновения какой-либо ошибки, текстовый файл имеет структуру 1 10.11.12 4000 2 20.07.14 5000 3 14.05.10 8000 4 05.06.09 3000 разделить пробел, при этом необходимо предать элемент массива , а массивом должна выступать каждая строка в стороннюю программу.

Решение задачи: «Запись в массив с проверкой»

textual
Листинг программы
  1. static void ReadStringFromFile()
  2.         {
  3.             FileStream fs = null;
  4.             FileStream fsCounter = null;
  5.             StreamWriter swCounter = null;
  6.             string str;
  7.             string[] ar = new string[0];
  8.             int count;
  9.  
  10.             try
  11.             {
  12.                 fs = new FileStream("test.txt", FileMode.Open);
  13.                 fsCounter = new FileStream("count.txt", FileMode.Open);
  14.             }
  15.             catch (IOException ex)
  16.             {
  17.                 Console.WriteLine(ex.Message);
  18.             }
  19.  
  20.             //Проверим, было ли что-то передано ранее, если да, то count=x
  21.             StreamReader srCouner = new StreamReader(fsCounter);
  22.  
  23.             try
  24.             {
  25.                 count = int.Parse(srCouner.ReadLine());                
  26.             }
  27.             catch (IOException ex)
  28.             {
  29.                 Console.WriteLine(ex.Message);
  30.                 count = 0;
  31.             }
  32.             finally
  33.             {
  34.                 srCouner.Close();
  35.             }
  36.            
  37.  
  38.             StreamReader sr = new StreamReader(fs);
  39.  
  40.             try
  41.             {
  42.                 //Если было передано, то пропускаем это количество строк
  43.                 if(count > 0)
  44.                 {
  45.                     for (int i = 0; i < count; i++)
  46.                     {
  47.                         str = sr.ReadLine();
  48.                     }
  49.                 }
  50.  
  51.                 while ((str = sr.ReadLine()) != null)
  52.                 {
  53.                     //теперь откроем файл счётчика для записи
  54.                     swCounter = new StreamWriter("count.txt", false);
  55.                     Array.Resize(ref ar, ar.Length + 1);
  56.                     ar[ar.Length - 1] = str;
  57.                     count += 1;
  58.                     swCounter.Write(count.ToString());
  59.                     swCounter.Close();
  60.                 }
  61.             }
  62.             catch (IOException ex)
  63.             {
  64.                 Console.WriteLine(ex.Message);
  65.             }
  66.             finally
  67.             {
  68.                 sr.Close();
  69.                 swCounter.Close();
  70.             }
  71.  
  72.             foreach (string s in ar)
  73.             {
  74.                 Console.WriteLine(s);
  75.             }
  76.  
  77.             Console.ReadKey();
  78.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы