Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh menyemak ketersediaan fail di C# tanpa bergantung semata -mata pada pengendalian pengecualian?
pengesahan akses fail yang mantap di C#
Menguruskan akses fail dengan cekap di C# memerlukan mengesahkan ketersediaan fail untuk mengelakkan kesilapan runtime seperti "fail yang digunakan." Walaupun pengendalian pengecualian adalah perkara biasa, pendekatan yang lebih proaktif meningkatkan kejelasan kod dan keteguhan.
cek ketersediaan fail yang lebih dipercayai
Kaedah ini menggunakan dan FileAccess
untuk memeriksa kunci fail: FileShare
<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>Kod ini cuba membuka fail dalam mod baca dengan akses eksklusif (
). Operasi yang berjaya menunjukkan fail tersedia. FileShare.None
yang menandakan fail dikunci oleh proses lain atau tidak boleh diakses. IOException
Pertimbangan penting:
FileAccess
untuk pemeriksaan akses tulis. FileAccess.Write
try-catch
. IOExceptions
Atas ialah kandungan terperinci Bagaimanakah saya boleh menyemak ketersediaan fail di C# tanpa bergantung semata -mata pada pengendalian pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!