Kaedah yang Lebih Teguh untuk Mengesahkan Akses Tulis kepada Direktori dalam C#
Menyemak kebenaran menulis direktori secara langsung mungkin tidak boleh dipercayai. Hanya menanyakan kebenaran tidak menjamin akses tulis sebenar. Pendekatan yang lebih boleh dipercayai melibatkan percubaan operasi tulis.
Berikut ialah kaedah yang dipertingkatkan:
<code class="language-csharp">public bool IsDirectoryWritable(string dirPath, bool throwIfFails = false) { try { // Create a temporary file to test write access. It's automatically deleted. using (FileStream fs = File.Create(Path.Combine(dirPath, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose)) { } return true; } catch (Exception ex) { if (throwIfFails) throw; // Re-throw the exception for higher-level handling else return false; } }</code>
Fungsi ini cuba mencipta fail sementara dalam direktori sasaran. FileOptions.DeleteOnClose
memastikan fail dialih keluar secara automatik, tidak meninggalkan kesan. Kejayaan menunjukkan akses tulis; kegagalan mengembalikan false
(atau membuang pengecualian jika throwIfFails
adalah benar). Ini secara langsung menguji keupayaan menulis, mengelakkan perangkap bergantung semata-mata pada semakan kebenaran. Ia ringkas dan mudah difahami.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguji Akses Tulis dengan Amanah kepada Direktori dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!