Robuste Dateizugriffsprüfung in C#
Effizient Verwalten des Dateizugriffs in C# erfordert die Überprüfung der Dateiverfügbarkeit, um Laufzeitfehler wie "verwendete Datei" zu verhindern. Während die Ausnahmebehandlung häufig ist, verbessert ein proaktiverer Ansatz die Code -Klarheit und Robustheit.
Eine zuverlässigere Überprüfung der Dateiverfügbarkeit
Diese Methode verwendet FileAccess
und FileShare
, um die Dateisperrungen präventiv zu überprüfen:
<code class="language-csharp">protected virtual bool IsFileLocked(FileInfo file) { try { using (FileStream stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None)) { stream.Close(); } return false; // File is accessible } catch (IOException) { return true; // File is locked or unavailable } }</code>
Dieser Code versucht, die Datei im Lesemodus mit exklusivem Zugriff (FileShare.None
) zu öffnen. Eine erfolgreiche Operation gibt an, dass die Datei verfügbar ist. Ein IOException
bedeutet, dass die Datei durch einen anderen Prozess gesperrt oder unzugänglich ist.
Wichtige Überlegungen:
FileAccess
nach FileAccess.Write
für Schreibzugriffsprüfungen. try-catch
Block verarbeitet potentiell IOExceptions
. Dieser verbesserte Ansatz bietet eine vorhersehbarere und weniger fehleranfällige Möglichkeit, die Verfügbarkeit von Dateien zu überprüfen, bevor Sie den Zugriff versuchen.
Das obige ist der detaillierte Inhalt vonWie kann ich nach der Verfügbarkeit von Dateien in C# suchen, ohne mich ausschließlich auf die Ausnahmebehandlung zu verlassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!