首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文件夹(目录)是否只读?

文件夹(目录)是否只读?
EN

Stack Overflow用户
提问于 2016-02-11 18:54:30
回答 2查看 1.3K关注 0票数 1

我有一个名为FolderHelper的类,它的方法是ReadOnly -其目的是检查指定的目录是否是只读的,并返回布尔值true或false。

代码语言:javascript
运行
复制
public static bool ReadOnly(string path)
{
    DirectoryInfo directoryInfo = new DirectoryInfo(path);

    if (directoryInfo.Attributes.HasFlag(FileAttributes.ReadOnly))
    {
        return true;
    }
    return false;
}

我已经将目录设置为只读,但该方法总是返回false --有人能提出原因吗?

EN

回答 2

Stack Overflow用户

发布于 2016-02-11 18:57:26

只读标志只能应用于文件,不能应用于目录。如果你尝试使用windows资源管理器在目录上设置这个标志--你会得到同样的结果--标志不会被设置到目录中,但可以设置/取消设置到它包含的文件中。因为标志不能被设置为目录-显然你不能从目录中获取它。

您可能需要检查此目录的写权限,以确定用户是否可以创建/修改此目录中包含的文件。您可以使用Directory.GetAccessControl进行检查。

票数 3
EN

Stack Overflow用户

发布于 2016-02-11 19:08:05

在另一篇stackOverflow文章中找到了这篇文章,可能这就是您需要做的

C# Test if user has write access to a folder

公共布尔IsReadOnly(string dirPath) { try { using (FileStream fs = File.Create( Path.Combine( dirPath,Path.GetRandomFileName( ),1,FileOptions.DeleteOnClose) ){}返回false;} catch { return true;} }

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35337364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档