Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 23.10.2014
Сообщений: 21

Не находится файл после сериализации

26.05.2016, 22:11. Показов 456. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Идет сохранение файла. Файл сохраняется геде я укажу. после того как он сохранился я хочу открыть его. Но когда нажимаю загрузить этот файл возникает ошибка что, файл ненайден, хотя я указываю на него.

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
41
42
 private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //открываем окно сохранения
            DialogResult dr = saveFileDialog1.ShowDialog();
            if (dr != DialogResult.OK) return;//если отмена, то закрываем и ничего не делаем
            //создаём лист на основе типа ОБЪЕКТ и помещаем в него все списки с блоками и линиями
            List<object> temp = new List<object>();
            temp.Add(abs);
            temp.Add(Lines);
            //сохраняем новое имя файла
            string str = saveFileDialog1.FileName;
            //открываем поток на запись с сохранённым именем
            FileStream FS = File.OpenWrite(str);
            BinaryFormatter BF = new BinaryFormatter();
            //пишем в файл лист со всеми объетами
            BF.Serialize(FS, temp);
            //закрываем поток на запись
            FS.Close();
        }
 
        private void загрузитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //открываем окно Открыть
            DialogResult dr = openFileDialog1.ShowDialog();
            //если отмена, то закрываем, ничего не делаем
            if (dr != DialogResult.OK) return;
            //очищаем все списки с блоками и линиями
            abs.Clear();
            Lines.Clear();
            //запоминаем имя открываемого файла
            string str = openFileDialog1.SafeFileName;
            //на основе этого имени создаём поток на чтение
            FileStream FS = File.OpenRead(str);
            BinaryFormatter bf = new BinaryFormatter();
            //создаём лист на основе типа ОБЪЕКТ и десериализуем в него файл
            List<object> temp = (List<object>)bf.Deserialize(FS);
            //возвращаем всем листам сохраненные в файле состояния приводя их в нужному типу
            abs = (List<Ab_Object>)temp[0];
            Lines = (List<SLine>)temp[1];
            pictureBox1.Invalidate();
 
        }
Миниатюры
Не находится файл после сериализации  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2016, 22:11
Ответы с готовыми решениями:

Открыть файл, прочитать. Все, что находится после двоеточия перенести в другой файл
Работа с текстовыми файлами Друзья, подскажите, имеется файлик *.txt в нем в строчку набор символов (разной длины), часть символов...

Ошбка записи в БД после сериализации
Есть таблица: Engine - InnoDB Char set - utf8 Collation - utf8_general_ci в нее идет запись? и в поле mailer_serialized типа...

Десериализация, после сериализации BinnaryFormatter'ом
Я сериализовал коллекцию экземпляров моего класса в одном приложении при помощи BinaryFormatter'a и видимо это была моя большая ошибка....

4
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
26.05.2016, 22:30
Цитата Сообщение от Mikan Посмотреть сообщение
C#
1
string str = openFileDialog1.SafeFileName;
Цитата Сообщение от msdn
SafeFileName - Возвращает имя и расширение файла, выбранного в диалоговом окне. Имя файла не включает сведения о пути.
Почему вы в 1 методе используете FileName, а тут нет?
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,901
Записей в блоге: 1
26.05.2016, 22:38
Mikan, замени строку №31 на
C#
1
string str = openFileDialog1.FileName;
SafeFileName возвращает только имя файла, без пути.
1
 Аватар для NetFR
46 / 46 / 32
Регистрация: 10.05.2013
Сообщений: 180
26.05.2016, 22:43
Поддерживаю. Сохраняется только имя и расширение, но не путь.
C#
1
2
string str = openFileDialog1.SafeFileName;
FileStream FS = File.OpenRead(str);
Путь к файлу в каталоге bin\Debug намекает.
0
1 / 1 / 1
Регистрация: 23.10.2014
Сообщений: 21
26.05.2016, 23:43  [ТС]
Спасибо помогло ребятки, поставила я FileName Моя невнимательность была
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2016, 23:43
Помогаю со студенческими работами здесь

Запись в файл объекта без сериализации
Как записать в файл пользовательский generic контейнер объектов пользовательского класса, не используя сериализацию (насколько я понял...

Сохранить объект в текстовый файл без сериализации
подскажите пожалуйста как сохранить объект в текстовый файл без сериализации?

При сериализации xml файл заполняется неккоректно
Всем привет. Пишу небольшую программку для личных нужд. Хранение данных предусматриваю в xml-файле. Сами данные представляют собой класс с...

Как отдать zip.файл клиенту, если файл находится в таблице на SQL-Servere?
Как отдать zip.файл клиенту, если файл находится в таблице на SQL-Servere? Туда он забрасывается FOX-ом в поле . Строка таблицы имеет...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru