【问题标题】:Check if directory exists and Permissions [duplicate]检查目录是否存在和权限[重复]
【发布时间】:2019-06-21 09:38:38
【问题描述】:

我正在尝试编写代码以在特定目录中创建文件。

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

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    尝试创建目录或文件,如果您没有权限,则会引发异常,您可以根据需要捕获并执行此操作。

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

    【讨论】:

      【解决方案2】:

      最简单的方法是尝试写入它。如果当前用户不可写,则会出现异常。

      话虽如此,您应该能够检查是否可以像这样写入文件夹:

      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
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-11
        • 2017-06-11
        • 2013-04-07
        • 2012-01-04
        • 1970-01-01
        • 1970-01-01
        • 2015-09-04
        • 1970-01-01
        相关资源
        最近更新 更多