![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Injener |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 6.10.2006 Где: СПб Репутация: нет Всего: 1 |
У меня есть XML файл. Я его парсил, а затем мне необходимо удалить или перенести его в другой фолдер.
При попытке удалить или перенести, генерится эксепшон (файл занят другим процессом). Можно ли как либо обойти это? Заранее благодарен. --------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии |
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 14 Всего: 42 |
Код покажешь?
Ты видимо файл после чтения не закрываешь. |
|||
|
||||
| Injener |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 6.10.2006 Где: СПб Репутация: нет Всего: 1 |
HalkaR, спасибо за подсказку.
Объект которым я парсил (он не в Framework-e, а свой), почему-то не уничтожается сборщиком мусора, хотя больше нигде не используется, и продолжает держать файл. Но это уже другая проблема. После reader.Dispose(); файл освобождается. Спасибо еще раз --------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Он и не должен уничтожатся сборщиком мусора. Сбощик мусора запускается как захочет (есть определенные условия), но не тогда когда у тя появляется без-ссылочный обьект. А Dispose() освобождает машинный ресурс, но не удаляет обьект из памяти и не запускает сборку мусора почему все время эти понятия путают?? Dispose() нужно вызывать всегда, если исользуешь класс, который в свою очередь управляет машинным ресурсом. Чтобы класс мог правильно освободить ресурс (кстати Close() - в основном то ж что и Dispose(). Если используешь запись в файл, то запись производится в буфер (если отключено свойство AutoFlush) и файл будет записан полносью и закрыт только при вызове Dispose() или Close()) А еще лучше исользовать блок using {}. С ним меньше ошибок Это сообщение отредактировал(а) archeg - 1.9.2007, 22:00 -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| Injener |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 6.10.2006 Где: СПб Репутация: нет Всего: 1 |
Спасибо за коммент, буду пользоваться
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |