Ketersediaan fail boleh diperiksa tanpa pemprosesan yang tidak normal
Dalam pengaturcaraan, akses kepada yang sedang digunakan oleh proses lain boleh menyebabkan kesilapan. Ini mungkin berlaku apabila program cuba mengakses fail yang belum disimpan kembali ke sistem fail. Untuk mengelakkan kesilapan tersebut, kaedah yang boleh dipercayai diperlukan untuk menentukan sama ada fail sedang digunakan.
Walaupun rawatan yang tidak normal adalah kaedah yang sama, sesetengah pemaju lebih cenderung untuk mengelakkannya kerana keutamaan atau gaya pengekodan tertentu. Nasib baik, terdapat kaedah lain untuk memeriksa ketersediaan fail.
Cara yang berkesan untuk mengesahkan keadaan kunci fail adalah menggunakan kelas FileStream dalam C#. Kod berikut menunjukkan teknologi menggunakan fileshare.none dan fileaccess.READ:
Dengan menggunakan , fail akan dibuka oleh tanah untuk dibaca. Jika sebarang proses lain mengakses fail,
akan dilemparkan, menunjukkan bahawa fail sedang dikunci. Kaedah ini membolehkan diperiksa dengan pasti ketersediaan fail tanpa menggunakan rawatan yang tidak normal. Jika fail tidak wujud atau tidak dapat diakses, pembina<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>
Atas ialah kandungan terperinci Bagaimana saya boleh menyemak ketersediaan fail di C# tanpa menggunakan pengendalian pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!