Есть ли лучший способ проверить, не заблокирован ли файл, а затем открыть файл, чтобы поймать исключение. У меня есть файловый менеджер, работающий в каталоге, и мне нужно что-то сделать в файл после того, как файл полностью перемещен/создан в местоположении. Не выбрасывает ли исключение производительность? Есть ли способ лучше?Проверьте, не заблокирован ли файл, если вы пытаетесь поймать исключение.
Private Function FileAvailable(ByVal fileName As String) As Boolean
Try
Using inputStream As FileStream = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.None)
Return True
End Using
Catch ex As IOException
Return False
End Try
End Function
или
private bool FileAvailable(string fileName) {
try {
using (FileStream inputStream = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.None)) {
return true;
}
}
catch (IOException ex) {
return false;
}
}
Немного эксперт посоветуете по самым лучшим образом. Thanks
Файл копируется в каталог часов. У другого пользователя нет доступа к каталогу. Мне просто нужно проверить, что файл полностью скопирован в каталог, прежде чем обрабатывать и перемещать файл самостоятельно. Мне нужен эксклюзивный доступ к нему.
Вам нужно будет определить, что вы подразумеваете под «Мне нужно что-то сделать с файлом». Различные операции означают разные права доступа, общие права, .... –
Дубликат http://stackoverflow.com/questions/1304/checking-for-file-lock-in-c –
Файл копируется в каталог часов , У другого пользователя нет доступа к каталогу. Мне просто нужно проверить, что файл полностью скопирован в каталог, прежде чем обрабатывать и перемещать файл самостоятельно. Мне нужен эксклюзивный доступ к нему. – jaredmroberts