可能重复:
.NET - 检查目录是否可访问而不进行异常处理
我使用 NET 3.5 和 C# 在 Visual Studio 2010 中制作了一个小文件浏览器,并且我有这个功能来检查目录是否可访问:
RealPath=@"c:\System Volume Information";
public bool IsAccessible()
{
//get directory info
DirectoryInfo realpath = new DirectoryInfo(RealPath);
try
{
//if GetDirectories works then is accessible
realpath.GetDirectories();
return true;
}
catch (Exception)
{
//if exception is not accesible
return false;
}
}
但我认为对于大目录,尝试获取所有子目录以检查目录是否可访问可能会很慢。我在尝试浏览受保护的文件夹或没有光盘的 cd/dvd 驱动器时使用此功能来防止错误(“设备未就绪”错误)。
是否有更好的方法(更快)来检查应用程序是否可以访问目录(最好在 NET 3.5 中)?