Menyemak Kebenaran untuk Penulisan Fail dalam .NET
Kod anda mengalami ralat dinafikan akses semasa cuba menulis pada fail. Ralat ini berlaku apabila program anda tidak mempunyai kebenaran yang diperlukan untuk mengubah suai fail atau direktori yang ditentukan.
Untuk menyelesaikan ralat ini, anda boleh melaksanakan blok kod untuk menangkap pengecualian ini. Selain itu, anda boleh menggunakan ruang nama Keselamatan untuk mengesahkan kebenaran menulis bagi fail.
Berikut ialah versi terkini kod anda yang menyemak kebenaran menulis dan mengendalikan ralat:
public void ExportToFile(string filename) { var permissionSet = new PermissionSet(PermissionState.None); var writePermission = new FileIOPermission(FileIOPermissionAccess.Write, filename); permissionSet.AddPermission(writePermission); if (permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet)) { using (FileStream fstream = new FileStream(filename, FileMode.Create)) using (TextWriter writer = new StreamWriter(fstream)) { // try catch block for write permissions writer.WriteLine("sometext"); } } else { // Handle write permissions not granted error } }
Walau bagaimanapun , adalah penting untuk ambil perhatian bahawa anda tidak boleh memberikan kebenaran menulis secara pemrograman kepada fail atau direktori. Tindakan ini memerlukan campur tangan pengguna, seperti menukar kebenaran fail secara manual dalam sistem pengendalian atau menjalankan program dengan keistimewaan yang tinggi.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Semak Kebenaran Menulis Fail secara Pengaturcaraan dalam .NET Sebelum Cuba Menulis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!