Heim >Backend-Entwicklung >C++ >Wie kann ich die Dateisperrungen in C# proaktiv überprüfen, ohne Ausnahmen zu verwenden?
Vermeiden Sie Ausnahmen beim Überprüfen von Dateisperrungen in C#
Verwaltung von Dateizugriffskonflikten in C# kann schwierig sein. Dieser Artikel enthält eine proaktive Methode, um die Verfügbarkeit von Dateien zu überprüfen, ohne sich auf die Ausnahmebehandlung zu verlassen und eine robustere Lösung anzubieten. Das Problem tritt beim Versuch, auf eine Datei zuzugreifen, in die derzeit geschrieben wird
Ein proaktiver Ansatz mit FileAccess.Read
verwenden, um die Verfügbarkeit von Dateien proaktiv zu überprüfen. Dieser überarbeitete Code -Snippet zeigt eine effizientere und zuverlässigere Methode: FileAccess.Read
<code class="language-csharp">protected virtual bool IsFileLocked(FileInfo file) { using (FileStream stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None)) { stream.Close(); return false; // File is accessible } catch (IOException) { // File is locked or unavailable return true; } }</code>
Erläuterung
Der Code versucht, die Datei im schreibgeschützten Modus () mit exklusivem Zugriff (FileAccess.Read
) zu öffnen. Wenn ein anderer Vorgang eine Sperre in der Datei enthält (z. B. das Schreiben), schlägt die FileShare.None
-Methode fehl und wirft ein Open
. Der IOException
Block verarbeitet dies und gibt try-catch
zurück, um anzuzeigen, dass die Datei gesperrt ist. Erfolgreiche Dateiöffnung bedeutet, dass die Datei verfügbar ist und true
zurückgegeben wird. Dieser Ansatz vermeidet den Leistungsaufwand und potenzielle Probleme, die mit der Ausnahme von Ausnahmebedingern verbunden sind. false
Das obige ist der detaillierte Inhalt vonWie kann ich die Dateisperrungen in C# proaktiv überprüfen, ohne Ausnahmen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!