Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Влад.pas
11 / 11 / 2
Регистрация: 30.08.2011
Сообщений: 62
#1

Отказано в доступе к файлу, т.к. он занят другим процессом - C#

23.02.2012, 16:02. Просмотров 2833. Ответов 6
Метки нет (Все метки)

Доброго времени суток!
Появилась проблема: имеется файл "Error" , имеется программа. Программа разделена на две части - первая создает файл "Error", вторая его удаляет. Создание файла проходит успешно. Но при удалении Visual Studio выдает ошибку: файл занят другим процессом, видимо созданием. Но при удалении файл "Error" давно уже создан. Вопрос: как снять с файла "Error" процесс создания после создания? Или дело в другом каком-то процессе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отказано в доступе к файлу, т.к. он занят другим процессом (C#):

Файл занят другим процессом - C#
the process cannot access the file... because it is being used by another process Пытаюсь удалить файлы, которые до этого добавлял в...

Файл занят другим процессом - C#
Здравствуйте. Проблема стара как мир, но разобраться с ней у меня не получается. Моя программа в ходе работы вытаскивает из видео кадры и...

Файл занят другим процессом - C#
Вопрос довольно-таки банальный, но я никак не могу его решить. Дело обстоит так: у меня в цикле при первом проходе файл удаляется, другой...

Исключения System.IO, занят другим процессом - C#
Подскажите пл. какое исключение обрабатывать если каталог (и, или) файл в нём, для удаления занят другим процессом: public...

Файл занят используется другим процессом при попытке его удаления - C#
Помогите пожалуйста, знаю, уже было кучу раз, но ничего из уже предложенного не помогает. if...

Как прочитать лог-файл, если в это время он занят другим процессом - C#
Здравствуйте. Пытаюсь делать Лог-файл и посчитать количество строк в файле. Вылетат ошибка мол этот документ используется ( .. В чем может...

6
Wurgengel
13 / 13 / 1
Регистрация: 23.02.2012
Сообщений: 66
23.02.2012, 16:25 #2
C#
1
2
3
4
5
6
7
8
            // Создаем поток для записи
            StreamWriter sw = new StreamWriter(path, true, Encoding.Default);
            // Записываем строку
            sw.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + " - " + sInStr);
            // Сбрасываем кэш потока
            sw.Flush();
            // Закрываем поток
            sw.Close();
2
Влад.pas
11 / 11 / 2
Регистрация: 30.08.2011
Сообщений: 62
23.02.2012, 19:08  [ТС] #3
Wurgengel, а как организовать сброс потока у File.Create?
0
Wurgengel
13 / 13 / 1
Регистрация: 23.02.2012
Сообщений: 66
23.02.2012, 22:47 #4
Цитата Сообщение от Влад.pas Посмотреть сообщение
Wurgengel, а как организовать сброс потока у File.Create?
Там тоже так же.
0
Tolias28
206 / 122 / 2
Регистрация: 18.08.2010
Сообщений: 1,011
24.02.2012, 15:50 #5
Цитата Сообщение от Wurgengel Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
            // Создаем поток для записи
            StreamWriter sw = new StreamWriter(path, true, Encoding.Default);
            // Записываем строку
            sw.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + " - " + sInStr);
            // Сбрасываем кэш потока
            sw.Flush();
            // Закрываем поток
            sw.Close();
Если я не ошибаюсь, то перед методом Close() писать Flush() необязательно, так как Close() перед закрытием потока сбрасывает весь буфер в него (чем и занимается Flush()). То есть, использование подряд Flush() и Close() неоптимально и лишнее. Flush() нужно использовать только в том случае, если только что проведенные изменения в потоке нужно срочно сбросить в файл. В других случаях рекомендуется для повышения производительности не делать этого самостоятельно (при закрытии потока данные и без того сбрасываются с буфера).
1
Wurgengel
13 / 13 / 1
Регистрация: 23.02.2012
Сообщений: 66
25.02.2012, 18:27 #6
Цитата Сообщение от Tolias28 Посмотреть сообщение
Если я не ошибаюсь, то перед методом Close() писать Flush() необязательно, так как Close() перед закрытием потока сбрасывает весь буфер в него (чем и занимается Flush()). То есть, использование подряд Flush() и Close() неоптимально и лишнее. Flush() нужно использовать только в том случае, если только что проведенные изменения в потоке нужно срочно сбросить в файл. В других случаях рекомендуется для повышения производительности не делать этого самостоятельно (при закрытии потока данные и без того сбрасываются с буфера).
У меня обрезал файл. Может это и глюк сборки был и сейчас не надо, но раньше обрезание файла было.
0
Tolias28
206 / 122 / 2
Регистрация: 18.08.2010
Сообщений: 1,011
25.02.2012, 22:25 #7
Цитата Сообщение от Wurgengel Посмотреть сообщение
У меня обрезал файл
в смысле обрезал?
у меня ни разу ничего подобного не было...
0
25.02.2012, 22:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2012, 22:25
Привет! Вот еще темы с ответами:

Процесс не может получить доступ к файлу, так как этот файл используется другим процессом - C#
Программа отправляет на сервер сообщение из файла(должна), но выдаёт исключение "Процесс не может получить доступ к файлу, так как этот...

Файл занят другим процессом - C#
Запускаю программу в несколько потоков. В итоге получаю данную ошибку. Прочитал, что для блокировки потоков используется оператор...

Ошибка: Файл занят другим процессом - C#
Доброго времени суток. Пишу программку которая должна перемещать изображения с разрешением 1920х1080 в отдельную папку. С определением...

Синхронизация файлов в двух папках. При работе с большими файлами возникает ошибка "Файл занят другим процессом" - C#
Доброго времени суток. У меня такой вопрос. Пишу программу для синхронизации данных в двух директориях. Синхронизация происходит как по...


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

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

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