猿问

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

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



芜湖不芜
浏览 1488回答 3
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);}

慕雪6442864

// check whether a file is hiddenbool isHidden = ((File.GetAttributes(filePath) & FileAttributes.Hidden) == FileAttributes.Hidden);

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有点懒。但是,如果您枚举所有内容,这不是很有用。(让这里有一个查询,但更可读)。
随时随地看视频慕课网APP
我要回答