我已经通过网络搜索和搜索,但找不到解决这个问题的好方法。
这是我的代码:
protected bool isFileValid(FileSystemInfo ifo)
{
if (!ifo.Exists || ifo.Name.StartsWith("$") || ifo.Name.Equals("System Volume Information"))
return false;
if(ifo is DirectoryInfo){
try
{
((DirectoryInfo)ifo).GetFileSystemInfos();
}
catch (Exception e) { LogUtil.Debug("Exception in isFileValid" + e.Message); return false; }
}
return true;
}
除了尝试捕获异常之外,还有什么方法可以检查我是否可以访问目录?这种方法的问题是,如果有很多我无法访问的目录,它会变得非常慢。
我所说的“访问目录”是指GetFileSystemInfos()
无一例外的调用。isFileValid
由我的应用程序调用 everyFileSystemInfo
以确定它是否可以按照我描述的方式访问。
提前感谢您提供解决此问题的任何想法。