ホームページ >バックエンド開発 >C++ >書き込みを試みる前に、.NET でファイルの書き込み権限をプログラムで確認するにはどうすればよいですか?

書き込みを試みる前に、.NET でファイルの書き込み権限をプログラムで確認するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 12:47:40902ブラウズ

How Can I Programmatically Check File Write Permissions in .NET Before Attempting to Write?

.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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。