Есть папка в сети, в которой периодически создаются файлы. Есть необходимость копировать данные файлы в другой каталог. Нужно проверять, доступен ли файл для копирования, т.е. не дописывается ли он. Есть ли возможность проверить доступен ли файл для записи?
Наиболее трезвый, на мой взгляд, способ понять занят ли файл другим процессом - это попытаться скопировать его и получить System.IO.IOException
в случае ошибки ввода-вывода, которая как раз таки и будет возникать при отсутствии к нему доступа. Попытки реализовать метод что бы проверить блокирован файл или нет особого результата не дадут. Поскольку никто не гарантирует, что в промежутке между вызовом метода проверки на блокировку и копированием файла ни какой другой процесс его уже не занял.
Вот готовый проект.
Все делается через системный openfiles.exe который находится в c:\Windows\System32
Он поддерживает множество операций таких как закрытие файла, запросы и т.д.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имею ряд кнопок, которые переключают страницу приложенияУ кнопок есть 2 состояния, нажатая и нет, для каждого состояния реализован стиль...
Как получить доступ элементам MainPagexaml из созданного мной класса?
У меня есть проект, который находиться на диске "E" и bower работает отлично