Я хочу удалить некоторые файлы, но только если они не используются. То, что я сделал, было попыткой/уловкой:быстрый способ удаления файлов
Try
My.Computer.FileSystem.DeleteFile(fileInfo.FullName)
Catch ex As Exception
End Try
но кажется, что этот метод очень медленный, если я пытаюсь удалить некоторые файлы по сети.
Есть ли более быстрый способ удаления файлов? Быстрее ли сначала проверять, открыт ли файл? Если да, как я могу проверить, открыт ли файл?
Сердечные приветы Нико
Если основная проблема заключается в пропускной способности сети, ThreadPool не может помочь. – SLaks
Но это может быть, если проблема в латентности. – Joren
@MSalters: вы уверены в поиске имени? Я не думаю, что 'FileInfo' может пропустить поиск имени при вызове' Delete'. «FileInfo» не должен соответствовать существующему файлу, даже не существующему каталогу. Конечно, ситуация может быть разной для сетевых акций, но я так не думаю. Кроме того, сначала необходимо создать экземпляры 'FileInfo', и даже если вы получите их путем итерации по каталогу, они, вероятно, построены с использованием обычного конструктора. –