Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 07.03.2013
Сообщений: 44
1

Проблемы с доступом к потоку

25.09.2013, 13:11. Просмотров 3566. Ответов 3
Метки нет (Все метки)

Здравствуйте ребята!

такой вопрос: у меня два метода: в первом методе я записываю байты в MemmoryStream с помощью BinaryWriter, а во втором методе я читаю эти самые байты из MemoryStream с помощью BinaryReader и вывожу их на консоль. Так вот при во втором методе при чтении у меня срабатывает исключение с сообщением о том, что "Доступ к закрытому потоку невозможен.". Почему базовый поток закрывается, хотя я нигде в обеих методах его не закрывал?

Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2013, 13:11
Ответы с готовыми решениями:

Проблемы с доступом
Есть некая программа (написанная наWinForms MS VS2017), которая отсылает по СМТП текстовые файлы...

Проблемы с доступом
После установки восьмёрки столкнулся с неприятной проблемой. При открытии вордовских документов...

Проблемы с доступом
Есть два сервера с разными АК, пользователей мигрировали с сервера 1 на сервер2 Через Группы, в...

Проблемы с доступом к Oracle DB?
Что бы это значило, при выполнении след.: DriverManager.registerDriver(new...

3
Администратор
Эксперт .NET
8865 / 4139 / 741
Регистрация: 17.04.2012
Сообщений: 8,972
Записей в блоге: 14
25.09.2013, 13:14 2
Talk is cheap. Show me the code
(Линус Торвальдс)
Покажите ваш код, тогда скажем.
0
1 / 1 / 0
Регистрация: 07.03.2013
Сообщений: 44
25.09.2013, 13:35  [ТС] 3
Первый метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void DreamWorks(List<byte> listOfBytes)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                using (BinaryWriter bw = new BinaryWriter(stream))
                {
                    foreach (byte b in listOfBytes)
                    {
                        bw.Write(b);
                    }
                }
                ShowAll(stream);
            }
        }
второй метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void ShowAll(MemoryStream stream)
        {
            string str = "";
            byte b;
            stream.Position = 0;
            using (BinaryReader br = new BinaryReader(stream))
            {
                while (br.PeekChar() > -1)
                {
                    b = br.ReadByte();
                    str += b.ToString() + " ";
                }  
            }                    
            MessageBox.Show(str);
        }
0
Администратор
Эксперт .NET
8865 / 4139 / 741
Регистрация: 17.04.2012
Сообщений: 8,972
Записей в блоге: 14
25.09.2013, 14:00 4
Вот здесь собака зарыта
C#
1
using (MemoryStream stream = new MemoryStream())
По выходу из блока using, поток автоматически закрывается (если быть точным, компилятор просто вставляет в конце stream.Dispose). Выделите работу с потоком из блока using и закрывайте его по-необходимости.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void ShowAll(MemoryStream stream)
{
    string str = "";
    byte b;
    stream.Position = 0;
    BinaryReader br = new BinaryReader(stream)
    while (br.PeekChar() > -1)
    {
        b = br.ReadByte();
        str += b.ToString() + " ";
    }                   
    MessageBox.Show(str);
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2013, 14:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проблемы с доступом к Discord
Доброго времени суток. собственно сабж. Еще вчера все работало, когда в последний раз заходил,...

Проблемы с общим доступом к папке
Добрый день проблема такая открываю общий доступ на папку на диске D когда я пытаюсь на нее зайти...

Проблемы с доступом к файлам NTFS
после очередной переинсталляции WinXP нету доступа к отдельным файлам папки My Documents доступа...

Проблемы с доступом к членам класса
Имеется консольный проект, состоящий из 3-х файлов: main.cpp, Classes.h, Classes.cpp. В файлах...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.