如何从字符串[]中只选择隐藏的文件夹?

如何从字符串[]中只选择隐藏的文件夹?

问题描述:

我想知道如何从String []获取隐藏文件夹。其实我有一个字符串数组,并在那里显示一些文件。还有正常和隐藏的文件,但我想尝试从该数组中只选择隐藏的文件夹。所以任何人都可以帮助我?如何从字符串[]中只选择隐藏的文件夹?

为每个文件创建FileInfo对象,并使用其Directory属性来获取DirectoryInfo实例上,您可以检查Attributes属性,会告诉你,如果该目录是隐藏的。

您可以测试一个目录是否通过检查DirectoryInfo类的Attributes属性隐藏:

var info = new DirectoryInfo(path); 
var hidden = info.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden 

同样的代码将工作测试文件是否是隐藏的,但你会使用FileInfo代替DirectoryInfo 。目前还不清楚你的数组包含什么以及你想获得什么,但通常你可以使用LINQ来实现过滤。下面返回一个只包含隐藏目录中的一个新的集合:

var hiddenDirectories = allDirectories.Where(path => { 
    var info = new DirectoryInfo(path); 
    var hidden = (info.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden 
    return hidden; }); 

你应该能够适应这样您的需要(取决于你想要得到的结果是什么文件/目录)。

+0

对信息抛出一个异常。异常是错误'字符串'不包含'属性'的定义 – 2010-05-29 16:41:02