Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 10.04.2013
Сообщений: 11
1

Считывание из текстового файла

28.10.2013, 22:50. Показов 438. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Столкнулся с следующей проблемой. Имеется класс, содержащий поле - коллекцию элементов. При считывании данных из текстового файла в объект этого класса управление передается другому методу для чтения и инициализации элементов коллекции. Проблема в том, что для считывания данных из файла во втором методе создается другой поток StreamReader - и позиция считывания теряется (в итоге получаем эксепшн "Значение не может быть пустым", так как строка не считывается). Вот пример методов:
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
38
39
40
        /// <summary>
        /// чтение данных из потока в строковом представлении
        /// </summary>
        public Test ReadFromStream(Test test, Stream stream, string password)
        {
            using (var ds = new DeflateStream(stream, CompressionMode.Decompress))
            {
                var sr = new StreamReader(stream);
 
                test.Name = Crypter.Decrypt(sr.ReadLine(), password);
                test.DateCreation = DateTime.Parse(Crypter.Decrypt(sr.ReadLine(), password));
 
                var quest = new Question();
                int n = Int32.Parse(sr.ReadLine());
                for (int i = 0; i < n; i++)
                {
                    qr.ReadFromStream(quest, stream, password);
                    test.SetState(quest);
                }
            }
            return test;
        }
 
 
        public Question ReadFromStream(Question value, System.IO.Stream stream, string password)
        {
            var sr = new StreamReader(stream);
 
            value.Number = Int32.Parse(Crypter.Decrypt(sr.ReadLine(), password));
            value.Content = (object)Crypter.Decrypt(sr.ReadLine(), password);
            var n = Int32.Parse(Crypter.Decrypt(sr.ReadLine(), password));
 
            var a = new Answer();
            for (int i = 0; i < n; i++)
            {
                ar.ReadFromStream(a, stream, password);
                value.SetState(a);
            }
            return value;
        }
Подскажите, как решить мою проблему? Если считывание проводить в одном методе без передачи управления второму методу, все проходит успешно. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2013, 22:50
Ответы с готовыми решениями:

Считывание текстового файла в массив
Есть текстовый файл с следующим содержанием: 000000000000 011111111110 011111111110...

Считывание данных из текстового файла
Как мне считывать разные числа, которые находятся на одной строке текстового файла?...

Считывание двумерного массива из текстового файла
Помогите пожалуйста. Необходимо считать с файла .txt двумерный массив из чисел. При этом так ,...

Считывание из текстового файла на руском языке
Подскажите пожалуйста, как сделать чтобы строка, считываемая из текстового файла и отображаемая на...

0
28.10.2013, 22:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2013, 22:50
Помогаю со студенческими работами здесь

Считывание из текстового файла структурированной информации
Файл имеет следующий вид: Фамилия Имя Отчество возраст рез. экзамена рез. прыжка в длину...

Считывание чисел типа float из текстового файла
Подскажите пожалуйста, как можно считать из текстового файла числа типа float? Или как...

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

Считывание из текстового файла набора чисел в виде таблицы
Подскажите, как считать из текстового файла массив чисел, если они записаны по 10 чисел в строку со...


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

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