检查目录是不是存在和权限[重复]

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于检查目录是不是存在和权限[重复]的主要内容,如果未能解决你的问题,请参考以下文章

检查目录是不是不存在[重复]

检查目录或子目录中是不是存在文件[重复]

需要检查目录中是不是存在.gz文件[重复]

检查目录是不是存在并计算与其中模式匹配的文件[重复]

检查文件夹中是不是存在文件[重复]

检查linux脚本中是不是存在文件[重复]