Heim >Backend-Entwicklung >C++ >Wie kann ich die Verfügbarkeit von Dateien in C# ohne Ausnahmebehandlung überprüfen?
Die Verfügbarkeit der Datei kann ohne abnormale Verarbeitung
überprüft werden Bei der Programmierung kann der Zugriff auf den derzeit von einem anderen Prozess verwendeten Prozess Fehler verursachen. Dies kann geschehen, wenn das Programm versucht, auf die Datei zuzugreifen, die nicht auf das Dateisystem zurückgespeichert wurde. Um solche Fehler zu vermeiden, ist eine zuverlässige Methode erforderlich, um festzustellen, ob die Datei derzeit verwendet wird.
Obwohl eine abnormale Behandlung eine gemeinsame Methode ist, neigen einige Entwickler eher, um sie aufgrund spezifischer Vorlieben oder Codierungsstile zu vermeiden. Glücklicherweise gibt es andere Methoden, um die Verfügbarkeit von Dateien zu überprüfen.
Ein effektiver Weg, um den Sperrstatus der Datei zu überprüfen, besteht darin, die FileStream -Klasse in C#zu verwenden. Der folgende Code zeigt eine Technologie mit Fileshare.none und fileAccess.read:
Mit wird die Datei vom Land zum Lesen geöffnet. Wenn ein anderer Prozess auf die Datei zugreift, wird
geworfen, was darauf hinweist, dass die Datei derzeit gesperrt ist. Diese Methode ermöglicht zuverlässig die Verfügbarkeit von Dateien ohne eine abnormale Behandlung. Wenn auf die Datei nicht vorhanden ist oder nicht zugegriffen werden kann, wirft der Konstruktor des<code class="language-csharp">protected virtual bool IsFileLocked(FileInfo file) { // 尝试以独占读取访问方式打开文件。 using (FileStream stream = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.None)) { // 如果文件未锁定,此行将成功执行。 stream.Close(); } // 文件未锁定。 return false; }</code>eine Abnormalität, sodass dieser Code implizit immer noch von einer abnormalen Verarbeitung abhängt. Um eine abnormale Verarbeitung vollständig zu vermeiden, muss die untere API der unteren Layer verwendet werden. Dies erhöht jedoch die Komplexität des Codes. Daher ist diese Methode eine Faltlösung, die die Einfachheit wiegt und eine abnormale Behandlung vollständig vermeidet.
Das obige ist der detaillierte Inhalt vonWie kann ich die Verfügbarkeit von Dateien in C# ohne Ausnahmebehandlung überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!