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

.NET のファイルとディレクトリへの書き込み権限をプログラムで確認するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-04 14:11:44465ブラウズ

How Can I Programmatically Check for Write Permissions to Files and Directories in .NET?

ファイルとディレクトリの書き込み権限の決定

多くのプログラミング操作では、ユーザーのシステム上のファイルまたはディレクトリに書き込む機能が必要です。 .NET では、File クラスはコンテンツをファイルに書き込むための簡単なメソッドを提供しますが、操作を続行する前に書き込み権限を確認することが重要です。

必要な権限を持たずにファイルに書き込もうとすると、権限がない場合、プログラムは UnauthorizedAccessException を発生します。これに対処するには、System.Security 名前空間の PermissionSet クラスと Permission クラスを利用できます。

以下のコードは、PermissionSet を使用して特定のファイルに対する書き込み権限を確認する方法を示しています。

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
    }
}

PermissionSet が現在のアプリケーション ドメインのアクセス許可のサブセットである場合、書き込み操作は成功します。それ以外の場合は、必要なアクセス許可がないため、プログラムは回復アクションを実行する必要があります。

残念ながら、ファイルまたはディレクトリへの書き込みアクセス許可をプログラムで付与する方法はありません。代わりに、ユーザー インターフェイスまたはサードパーティ ツールを通じて手動でアクセスを許可するようユーザーに求める必要があります。

以上が.NET のファイルとディレクトリへの書き込み権限をプログラムで確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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