Ошибка System.ArgumentException: "Поток был недоступен для чтения." - C#
Формулировка задачи:
Листинг программы
- using System.IO;
- namespace ConsoleApp5
- {
- class Program
- {
- static void Main(string[] args)
- {
- double p = 0, i=0;
- FileStream file1 = new FileStream("C://temp//file1.txt", FileMode.Open);
- StreamReader s = new StreamReader(file1, Encoding.Default);
- FileStream file2 = new FileStream("C://temp//file2.txt", FileMode.Create);
- StreamWriter q = new StreamWriter(file2);
- while (!s.EndOfStream)
- {
- string sk = s.ReadLine();
- string[] arr = sk.Split('|');
- p += Convert.ToDouble(arr[1]);
- i++;
- }
- double sr = p / i;
- s.Close();
- StreamReader l = new StreamReader(file1, Encoding.Default); //здесь выводить ошибку
- while (!s.EndOfStream)
- {
- string st = s.ReadLine();
- string[] array = st.Split('|');
- double a = Convert.ToDouble(array[1]);
- if (a > sr)
- q.WriteLine(st);
- };
- q.Close();
- s.Close();
- l.Close();
- }
- }
- }
Вот текст из file1:
Gelz |5
Nevelson |3
Grimp |3
Brown |4
Harris |5
Lee |2
Lewis |4
Walker |5
Phillips |4
Решение задачи: «Ошибка System.ArgumentException: "Поток был недоступен для чтения."»
textual
Листинг программы
- static void Main(string[] args)
- {
- double p = 0;
- int i = 0;
- StreamReader reader = new StreamReader(@"C:\temp\file1.txt", Encoding.Default);
- while (!reader.EndOfStream)
- {
- string line = reader.ReadLine();
- string[] arr = line.Split('|');
- p += Convert.ToDouble(arr[1]);
- i++;
- }
- double sr = p / i;
- reader.Close();
- StreamWriter writer = new StreamWriter(@"C:\temp\file2.txt", Encoding.Default);
- reader = new StreamReader(@"C:\temp\file1.txt", Encoding.Default);
- while (!reader.EndOfStream)
- {
- string line = s.ReadLine();
- string[] array = line.Split('|');
- double a = Convert.ToDouble(array[1]);
- if (a > sr)
- {
- writer.WriteLine(line);
- }
- }
- reader.Close();
- writer.Close();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д