Jak sprawdzić, czy plik jest w użyciu?
Czy jest jakiś sposób, aby najpierw sprawdzić, czy plik jest w użyciu, zanim spróbujesz go otworzyć do czytania? Na przykład ten blok kodu spowoduje zgłoszenie wyjątku, jeśli plik nadal jest zapisywany lub jest używany:
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."
}
Rozejrzałem się dookoła i najlepsze, co mogę znaleźć, to wykonać jakąś ankietę z próbą złapania w środku i to jest odczuwalnewięc hacky. Spodziewałbym się, że coś się stanieSystem.IO.FileInfo
ale nie ma.
Jakieś pomysły na lepszy sposób?