Чтение из закрытого TextReader невозможно - C# (198187)

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

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

каждая строка в файле, начиная с 4, разбивается в массив. мне требуется удалить всю строку (либо все элементы массива) если 0 элемент равен указанному значению. после чего требуется проверить файл с 4 строки и до конца на наличие пустых строк, и в случае их наличия удалить (над этим я пока не думала) следующий код как я понимаю почему-то не открывает стримридер... почему я не пойму...
private void if_dlea_vivoda(object sender, EventArgs e)
       {
           StreamReader reader = new StreamReader(namef3);
           reader.ReadLine();
           reader.ReadLine();
           while (!reader.EndOfStream)
           {
               
               string[] split = reader.ReadLine().Split(new Char [] {'|'});
               if (split[0] == num_vopr_pr.Text)
               {
                   
                   int m = split.Length;
                   reader.Close();
                   FileStream file1 = new FileStream(namef3, FileMode.Open); //создаем файловый поток
                   StreamWriter writer = new StreamWriter(file1/*, Encoding.ASCII*/); //создаем «потоковый писатель» и связываем его с файловым потоком 
                   Array.Clear(split, 0, m);
                   writer.Close();
                   file1.Close();
               }
               
           }
           reader.Close();
           
       }

Решение задачи: «Чтение из закрытого TextReader невозможно»

textual
Листинг программы
            string[] namef3text = File.ReadAllLines(namef3,Encoding.Default);
            for (int i = 3; i < namef3text.Length; i++) {
                string[] split = namef3text[i].Split(new Char [] {'|'});
                if (split[0] == num_vopr_pr.Text)
                {
                    namef3text[i] = "";
                }
            }
            StreamWriter sw = new StreamWriter (namef3,false,Encoding.Default);
            
            foreach (string str in namef3text) {
                if (str != "")
                    sw.WriteLine(str);
            }
            sw.Close();

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


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

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

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