ディレクトリまたはファイルへの書き込みアクセスの確認と許可
プログラミングでは、ファイルまたはディレクトリへの書き込み中に権限関連のエラーが発生するとイライラすることがあります。 。次のコードを考慮してください:
public void ExportToFile(string filename) { using(FileStream fstream = new FileStream(filename,FileMode.Create)) using (TextWriter writer = new StreamWriter(fstream)) { // try catch block for write permissions writer.WriteLine(text); } }
このコードを実行すると、指定されたパスへのアクセスが拒否されたことを示す「UnauthorizedAccessException」エラーが発生する可能性があります。この問題を解決するには、書き込み権限を確認し、ファイルまたはディレクトリへの必要なアクセスを提供する必要があります。
書き込み権限の確認
必要な権限があるかどうかを確認するにはアクセス許可を取得すると、Security 名前空間を利用できます。次の変更されたコードは、このアプローチを示しています。
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)) { // You have write permission using (FileStream fstream = new FileStream(filename, FileMode.Create)) using (TextWriter writer = new StreamWriter(fstream)) { writer.WriteLine(text); } } else { // You do not have write permission // Perform necessary recovery action } }
書き込みアクセスの許可
残念ながら、ファイルまたはディレクトリへの書き込みアクセスをプログラムで許可することはできません。このアクションはユーザーが手動で実行する必要があります。したがって、ユーザーにプロセスを案内するためのプロンプト メカニズムを組み込むことを検討してください。
以上がコード内のファイルとディレクトリの書き込みアクセス許可を確認して処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。