Menentukan Kebenaran Tulis untuk Fail dan Direktori
Banyak operasi pengaturcaraan memerlukan keupayaan untuk menulis ke fail atau direktori pada sistem pengguna. Dalam .NET, kelas Fail menyediakan kaedah mudah untuk menulis kandungan pada fail, tetapi adalah penting untuk menyemak kebenaran menulis sebelum meneruskan operasi.
Jika percubaan dibuat untuk menulis ke fail tanpa perlu kebenaran, program akan menghadapi UnauthorizedAccessException. Untuk menangani perkara ini, anda boleh memanfaatkan kelas PermissionSet dan Permission daripada System.Security namespace.
Kod di bawah menunjukkan cara menggunakan PermissionSet untuk menyemak kebenaran menulis pada fail tertentu:
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)) { writer.WriteLine("sometext"); } } else { // Perform recovery actions, as write permission is not granted } }
Jika PermissionSet ialah subset daripada kebenaran domain aplikasi semasa, operasi tulis akan berjaya. Jika tidak, program mesti melaksanakan tindakan pemulihan, kerana ia tidak mempunyai kebenaran yang diperlukan.
Malangnya, tiada cara pemrograman untuk memberikan kebenaran menulis kepada fail atau direktori. Sebaliknya, anda mesti menggesa pengguna untuk memberikan akses secara manual melalui antara muka pengguna atau alat pihak ketiga.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Secara Pengaturcaraan untuk Kebenaran Menulis kepada Fail dan Direktori dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!