C# 检查目录是否存在以及权限

C# 检查目录是否存在以及权限,c#,.net,C#,.net,我正试图编写一个代码,在特定目录中创建一个文件 虽然我可以管理代码来检查文件是否存在,如果不存在,也可以创建目录,但如何检查我是否有权限在指定位置创建目录和/或文件。好吧,尝试创建目录或文件,如果没有权限,将引发异常,您可以捕获并按需要做 try { // code to create directory or file } catch(Exception ex) { // do something here } 最简单的方法就是试着给它写信。如果当前用户无法写入,则会出现异常 也就是说

我正试图编写一个代码,在特定目录中创建一个文件


虽然我可以管理代码来检查文件是否存在,如果不存在,也可以创建目录,但如何检查我是否有权限在指定位置创建目录和/或文件。

好吧,尝试创建目录或文件,如果没有权限,将引发异常,您可以捕获并按需要做

try
{
 // code to create directory or file
}
catch(Exception ex)
{
  // do something here
}

最简单的方法就是试着给它写信。如果当前用户无法写入,则会出现异常

也就是说,您应该能够检查是否可以写入这样的文件夹:

string directoryName = GetTheDirectory();

PermissionSet permissionSet = new PermissionSet(PermissionState.None);    

FileIOPermission writePermission = new FileIOPermission(FileIOPermissionAccess.Write, directoryName);

permissionSet.AddPermission(writePermission);

if (permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet))
{
   // You have write permissions
}
else
{
   // You don't have write permissions
}