如何从字符串[]中只选择隐藏的文件夹?
问题描述:
我想知道如何从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; });
你应该能够适应这样您的需要(取决于你想要得到的结果是什么文件/目录)。
对信息抛出一个异常。异常是错误'字符串'不包含'属性'的定义 – 2010-05-29 16:41:02