Heim >Backend-Entwicklung >C++ >Wie kann ich nach der Verfügbarkeit von Dateien in C# suchen, ohne mich ausschließlich auf die Ausnahmebehandlung zu verlassen?

Wie kann ich nach der Verfügbarkeit von Dateien in C# suchen, ohne mich ausschließlich auf die Ausnahmebehandlung zu verlassen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-02-02 22:21:12990Durchsuche

How Can I Check for File Availability in C# Without Relying Solely on Exception Handling?

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:

  • Diese Methode prüft lesen Zugriff. Ändern Sie FileAccess nach FileAccess.Write für Schreibzugriffsprüfungen.
  • Während dies die direkte Abhängigkeit von Ausnahmen für die Durchflussregelung minimiert, bleibt die Ausnahmebehandlung für die Fehlerbehandlung von entscheidender Bedeutung. Der 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn