Есть ли способ сначала проверить, используется ли файл, прежде чем пытаться открыть его для чтения? Например, этот блок кода вызовет исключение, если файл все еще записывается или считается используемым:
try
{
FileStream stream = new FileStream(fullPath, FileMode.Open, FileAccess.Read, FileShare.Read);
}
catch (IOException ex)
{
// ex.Message == "The process cannot access the file 'XYZ' because it is being used by another process."
}
Я огляделся по сторонам, и лучшее, что я могу найти, - это провести какой-то опрос, сделав попытку внутри, и это выглядит как , так что хакерский. Я бы ожидал, что что-то будет на System.IO.FileInfo
, но это не так.
Есть идеи, как лучше?