如何从String []中仅选择隐藏文件夹?

时间:2010-05-29 13:45:44

标签: c#

我想知道如何从String []中只获取隐藏文件夹。实际上我有一个字符串数组,并显示一些文件。还有普通和隐藏文件,但我想尝试从这个数组中只选择隐藏文件夹。所以任何人都可以帮助我?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

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; });

您应该能够根据您的需要进行调整(取决于您希望得到的文件/目录)。