Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
1 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 28

StreamWriter

13.09.2009, 15:31. Показов 3448. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
 public static void SaveProfile(object o)
        {
 
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
 
                string filenname = "";
                string path = "";
 
                saveFileDialog1.Filter = "|.xml*";
                saveFileDialog1.DefaultExt = "xml";
                saveFileDialog1.FilterIndex = 2;
                saveFileDialog1.RestoreDirectory = true;
                //saveFileDialog1.Title = "Where do you want to save the Profile?";
 
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    if (saveFileDialog1.OpenFile() != null)
                    {
                        filenname = Path.GetFileName(saveFileDialog1.FileName);
                        path = Path.GetDirectoryName(saveFileDialog1.FileName);
 
                        XmlSerializer myXmlSer = new XmlSerializer(o.GetType());
                        StreamWriter myWriter = new StreamWriter(path + @" \" + filenname);
                        myXmlSer.Serialize(myWriter, o);
                        myWriter.Close();
                    }
                }
        }
Вот мой код на сохранение в xml файл, но проблема в том что он работает через раз. Выдавая ошибку Процесс не может получить доступ к файлу. Хотя этот фаил не чем ни используется.

Добавлено через 28 минут
C#
1
   StreamWriter myWriter = new StreamWriter(path + @" \" + filenname);
Вот тут выскакивает ошибка.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2009, 15:31
Ответы с готовыми решениями:

Не работает StreamWriter на Windows XP
Добрый День. =) Товарищи програмисты, прошу у вас помощи. Меня этот кусок кода уже очень измотал.Пробляма заключаетьсяв том что програма з...

Не работает StreamReader/StreamWriter с NetworkStream
Всем привет! У меня есть такая проблема. Есть программа-клиент: using System; using System.Collections.Generic; using...

Ошибка функции сохранения StreamWriter
Для хранения использовал массив структур ,при записи информации в текстовый файл записывается только первый элемент массива структур т ....

8
3 / 3 / 0
Регистрация: 13.09.2009
Сообщений: 17
13.09.2009, 15:41
В ХР если выделяеш файл обозреватель начинает его проверять на размер последнее открытие и т.д.
Просто закрой папку с этим файлом, юзай прогу, а потом открой папку и юзай файл. Часто в процессе отладки с небольшими тормозами системы случаются аналогичные ситуации.
0
1 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 28
13.09.2009, 16:45  [ТС]
Цитата Сообщение от AndrewHz Посмотреть сообщение
В ХР если выделяеш файл обозреватель начинает его проверять на размер последнее открытие и т.д.
Просто закрой папку с этим файлом, юзай прогу, а потом открой папку и юзай файл. Часто в процессе отладки с небольшими тормозами системы случаются аналогичные ситуации.
Не катит у меня Server 2008 + папка с файлом не открыта и фаил не используется я тупо пытаюсь с начало сохранить один файл потом второй и третий на втором выскакивает ошибка.

Добавлено через 2 минуты
+ Если перед эти включаю таймер и выполняю другие функции то ошибка сразу выскакивает.

Добавлено через 12 минут
Хм а если поставить вот такую стоку
C#
1
StreamWriter myWriter = new StreamWriter(Application.StartupPath+@"\" + filenname);
В место
C#
1
StreamWriter myWriter = new StreamWriter(path + @" \" + filenname);
Все работает. В чем причина?
0
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
13.09.2009, 17:52
И что, значения одинаковые получаются во время ошибки при (Application.StartupPath+@"\" + filenname) и при (path + @" \" + filenname)?
0
1 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 28
13.09.2009, 18:46  [ТС]
Если у меня стоит в коде
C#
1
StreamWriter myWriter = new StreamWriter(Application.StartupPath+@"\" + filenname);
То все супер работает, а если стоит
C#
1
StreamWriter myWriter = new StreamWriter(path + @" \" + filenname);
то вылетает ошибка.
0
 Аватар для exe-dealer
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
13.09.2009, 18:53
System.IO.Path.Combine
0
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
13.09.2009, 18:53
Цитата Сообщение от QJlex Посмотреть сообщение
@" \"
а пробел зачем?
0
1 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 28
13.09.2009, 19:31  [ТС]
Цитата Сообщение от LordXaosa Посмотреть сообщение
а пробел зачем?
Случайно.

Добавлено через 1 минуту
Цитата Сообщение от exe-dealer Посмотреть сообщение
System.IO.Path.Combine
Получается мне нуно сохранить файл например в "Application.StartupPath" а затем перенести в нужную папку?
0
1 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 28
14.09.2009, 00:26  [ТС]
В итоге разобрался сам в чем ошибка. Вот исправленный код:
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
public static void SaveProfile(object o)
        {
 
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
 
                string filenname = "";
                string path = "";
 
                saveFileDialog1.Filter = "|.xml*";
                saveFileDialog1.DefaultExt = "xml";
                saveFileDialog1.FilterIndex = 2;
                saveFileDialog1.RestoreDirectory = true;
                saveFileDialog1.Title = "Where do you want to save the Profile?";
 
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                        filenname = Path.GetFileName(saveFileDialog1.FileName);
                        path = Path.GetDirectoryName(saveFileDialog1.FileName);
 
                        XmlSerializer myXmlSer = new XmlSerializer(o.GetType());
                        StreamWriter myWriter = new StreamWriter(path + @"\" + filenname);
                        myXmlSer.Serialize(myWriter, o);
                        myWriter.Close();
                }
        }
Прикол в том что прошлый код создавал файл спомощю диалога затем еще и xml хотел поверх создать файл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2009, 00:26
Помогаю со студенческими работами здесь

Почему уже закрыт StreamWriter
Здравствуйте. Помогите разобраться со следующим вопросом. Есть код: class LogClass { public static string LogDir =...

Разбивка файла StreamWriter-ом на несколько файлов
Приветствую, есть файл содержащий очень много строк и как бы разбитый на блоки строкой $$$$, надо: 1) этот файл разбить на несколько...

StreamWriter. Есть ли ограничение на размер файла?
Провожу записть в текстовый файл. Файл увеличивается только до 4,16Гб, а дальше нет. Не пойму в чем проблема? Разве у StreamWriter'a есть...

StreamWriter блокирует флешку (не работает безопасное извлечение)
При сохранении данных на USB флешку, она не извлекается безопасно. using (StreamWriter sw = new StreamWriter( MyUsbDrive + "some...

Метод Write(string) класса StreamWriter обрезает строку.
Не могу разобраться, почему не работает вот такой код: using (Stream memoryStream = new...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru