.NET でのファイル書き込み権限の確認
ファイルに書き込もうとしたときに、コードでアクセス拒否エラーが発生しました。このエラーは、指定されたファイルまたはディレクトリを変更するために必要な権限がプログラムにない場合に発生します。
このエラーを解決するには、この例外をキャッチするコード ブロックを実装できます。さらに、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)) { 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 } }
ただし, ファイルまたはディレクトリへの書き込みアクセス許可をプログラムで付与することはできないことに注意することが重要です。この操作には、オペレーティング システムのファイル権限を手動で変更するか、昇格した特権でプログラムを実行するなど、ユーザーの介入が必要です。
以上が書き込みを試みる前に、.NET でファイルの書き込み権限をプログラムで確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。