Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menguji Akses Tulis dengan Amanah kepada Direktori dalam C#?

Bagaimanakah Saya Boleh Menguji Akses Tulis dengan Amanah kepada Direktori dalam C#?

DDD
Lepaskan: 2025-01-09 07:37:45
asal
702 orang telah melayarinya

How Can I Reliably Test Write Access to a Directory in C#?

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan