【发布时间】:2019-06-21 09:38:38
【问题描述】:
我正在尝试编写代码以在特定目录中创建文件。
虽然我可以管理代码来检查文件是否存在,如果不存在也可以创建目录,但是如何检查我是否有权在指定位置创建目录和/或文件。
【问题讨论】:
我正在尝试编写代码以在特定目录中创建文件。
虽然我可以管理代码来检查文件是否存在,如果不存在也可以创建目录,但是如何检查我是否有权在指定位置创建目录和/或文件。
【问题讨论】:
尝试创建目录或文件,如果您没有权限,则会引发异常,您可以根据需要捕获并执行此操作。
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
}
【讨论】: