freigegeben wirdbenachrichtigt wird, wenn eine Dateisperre
Ich habe eine Kamera [C# und Windows als Plattform verwenden], die JPG-Dateien in einem lokalen Ordner in meinem PC schreibt. Ich möchte jede Datei laden, die die Kamera ablegt, also habe ich einen FileSystemWatcher, der mich benachrichtigt, wenn ein neues Bild erstellt wird, aber die Kamera sperrt die Datei, während es geschrieben wird, wenn ich versuche, es zu laden, gerade nachdem es benachrichtigt worden ist Bei seiner Erstellung bekomme ich eine Ausnahme, die besagt, dass die Datei gesperrt ist.
Derzeit habe ich eine while-Schleife (mit einem Thread.Sleep), die versucht, das Bild alle 0,2 Sekunden zu laden, aber es fühlt sich ein bisschen schmutzig an.
Gibt es eine elegantere Art zu warten, bis die Sperre aufgehoben wurde, damit ich die Datei laden kann, die sicher ist, dass sie nicht mehr benutzt wird?
Mögliche Duplikate von [Wie Dateisperre überprüfen?] (Http://stackoverflow.com/questions/1304/how-to-check-for-file-lock) – Plutonix
Ich will nicht wissen, ob es ist verschlossen. Ich möchte benachrichtigt werden, wenn es NICHT gesperrt ist. – SuperJMN
werfen Sie einen Blick [https://social.msdn.microsoft.com/Forums/vstudio/en-US/dd1d86a8-b803-4425-bf84-db9a4b7c1d52/filesystemwatcher-for-locks-readwrite-lock-on-files?forum = csharpgeneral] (https://social.msdn.microsoft.com/Forums/vstudio/en-US/dd1d86a8-b803-4425-bf84-db9a4b7c1d52/filesystemwatcher-for-locks-readwrite-lock-on-files?forum= csharpgeneral) – esiprogrammer