Verlassen Sie den Dateisperrstatus
Öffnen Sie die Datei mit dem Try-Catch-Block und erfassen Sie Abnormalitäten, um festzustellen, dass sein Schließstatus möglicherweise nicht der effektivste Weg ist. In diesem Artikel wird eine alternative Methode eingeführt, für die kein Try-Catch-Block erforderlich ist.
Überblick über das Schema
Diese Methode verwendet das FileStream -Objekt, um die Datei zu öffnen und ein bestimmtes Dateizugriffs- und Freigabeeinstellungen festzulegen. Wenn IOException auftritt, verwendet der Code eine benutzerdefinierte Methode isFilelocked (), um zu überprüfen, ob die Datei gesperrt ist, und diese Methode überprüft einen Fehlercode mit abnormalen Fehlern. Wenn die Datei gesperrt ist, öffnet der Code die Datei nach dem angegebenen Zeitintervall erneut.
Implementieren Sie die Details
Der angegebene Code definiert eine FileManager -Klasse, die eine GetStream () -Methode enthält, um einen Dateistrom zu erhalten. GetStream () versuchen Sie wiederholt, die Datei zu öffnen, bis sie die angegebene Anzahl von Versuchen überschreitet, oder öffnen Sie die Datei erfolgreich. isFilelocked () Methode, um den mit IOException zugeordneten Fehlercode zu überprüfen, um festzustellen, ob die Datei gesperrt ist. Fehlercode 32 (gemeinsamer Konflikt) und 33 (Sperrenkonflikt) zeigen, dass die Datei gesperrt wurde.
Die Vorteile dieser Methode
Kein Try-Catch-Block, machen Sie den Code prägnanter und einfach zu lesen. Das Zeitintervall zwischen der Anzahl der Bewertungen und Versuche kann flexibel konfiguriert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich den Dateisperrstatus effizient bestimmen, ohne Try-Catch-Blöcke zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!