Directory.GetFiles()返回所有文件,甚至是那些标记为隐藏的文件.有没有办法获取排除隐藏文件的文件列表?
Aus*_*nen 100
这应该适合你:
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);
}
Run Code Online (Sandbox Code Playgroud)
小智 12
// check whether a file is hidden
bool isHidden = ((File.GetAttributes(filePath) & FileAttributes.Hidden) == FileAttributes.Hidden);
Run Code Online (Sandbox Code Playgroud)
使用.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;
Run Code Online (Sandbox Code Playgroud)
这与其他答案基本相同,除了Directory.EnumerateDirectories有点懒.但是,如果你枚举一切,这不是很有用.
(这里是让查询更具可重复性).
| 归档时间: |
|
| 查看次数: |
45863 次 |
| 最近记录: |