为了账号安全,请及时绑定邮箱和手机立即绑定

C#-获取文件列表(不包括隐藏文件)

/ 猿问

C#-获取文件列表(不包括隐藏文件)

芜湖不芜 2019-11-19 15:39:33

Directory.GetFiles()返回所有文件,甚至包括标记为隐藏的文件。有没有办法获取排除隐藏文件的文件列表?



查看完整描述

3 回答

?
慕桂英546537

这应该为您工作:


DirectoryInfo directory = new DirectoryInfo(@"C:\temp");

FileInfo[] files = directory.GetFiles();


var filtered = files.Where(f => !f.Attributes.HasFlag(FileAttributes.Hidden));


foreach (var f in filtered)

{

    Debug.WriteLine(f);

}


查看完整回答
反对 回复 2019-11-19
?
慕雪6442864

// check whether a file is hidden

bool isHidden = ((File.GetAttributes(filePath) & FileAttributes.Hidden) == FileAttributes.Hidden);


查看完整回答
反对 回复 2019-11-19
?
30秒到达战场

使用.NET 4.0和Directory.EnumerateDirectories,可以使用以下结构:


var hiddenFilesQuery = from file in Directory.EnumerateDirectories(@"c:\temp")

                       let info = new FileInfo(file)

                       where (info.Attributes & FileAttributes.Hidden) == 0

                       select file;

这与其他答案基本相同,除了Directory.EnumerateDirectories有点懒。但是,如果您枚举所有内容,这不是很有用。


(让这里有一个查询,但更可读)。


查看完整回答
反对 回复 2019-11-19

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信