1 / 1 / 1
Регистрация: 15.11.2016
Сообщений: 72
1

Ошибка System.ArgumentException: "Поток был недоступен для чтения."

13.06.2017, 20:18. Показов 4361. Ответов 1

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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();
        }
    }
}
Добавлено через 1 минуту
Вот текст из file1:
Gelz |5
Nevelson |3
Grimp |3
Brown |4
Harris |5
Lee |2
Lewis |4
Walker |5
Phillips |4
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2017, 20:18
Ответы с готовыми решениями:

Поток был недоступен для чтения
Здравствуйте. Что то пошло не так: HttpWebRequest wr =...

Http сервер и клиент. При попытке получить ответ клиента от сервера ошибка: Поток был недоступен для чтения
Здравствуйте, пытаюсь разобраться с написанием клиент-серверного приложения используя сокеты....

Многопоточный доступ к файлу и ошибка "Поток был недоступен для чтения"
Здравствуйте. Решил потренироваться в многопоточности, но почему-то все равно возникает ошибка...

Ассинхронный WebRequest. Поток был недоступен для записи
Добрый день. Выполняю вот такой код: /// <summary> /// Послать ассинхронный...

Ошибка времени выполнения: System.ArgumentException: Значение 'null' недопустимо для 'stream'
Строка: MainForm.Icon := new Icon(GetResourceStream('icon.ico'));

1
Администратор
Эксперт .NET
16988 / 13348 / 5208
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
13.06.2017, 21:57 2
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Dream_of_Cthulh, в строке №22 закрывается StreamReader что автоматически закрывает FileStream. Поэтому читать из него дальше не получится. Код можно переписать так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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();
}
1
13.06.2017, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2017, 21:57
Помогаю со студенческими работами здесь

System.ArgumentException: "Элемент с тем же ключом уже был добавлен."
Программа работала, около месяца или двух, не заходил в Visual Studio, ничего не менял, зашел и при...

System.ArgumentException. Ошибка. Как убрать эту ошибку?
System.ArgumentException HResult=0x80070057 Сообщение = "DependencySource"должно быть создано...

Ошибка дизайнера fail: System.ArgumentException: Illegal characters in path
Всем привет! В 2022 community студии при попытке создать новый winforms проект под Net core 6...

Поток недоступен для записи
Здравствуйте, уважаемые форумчане! Битый час ломаю голову, что не так. Гугл результатов не даёт. ...

System.ArgumentException в System.Drawing.dll при работе с Gif
Необработанное исключение типа "System.ArgumentException" произошло в System.Drawing.dll using...

Ошибка System.ArgumentException "Требуется информация об абсолютном пути."
Здравствуйте встретился с ошибкой System.ArgumentException "Требуется информация об абсолютном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru