Запись в массив с проверкой - 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();
        }

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


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

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

12   голосов , оценка 3.833 из 5
Похожие ответы