这里有一个用VB.NET制作的小文件搜索引擎: ListBox1.Items.Clear() ListBox3.Items.Clear()
ChDir("C:\")
Try
For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
My.Computer.FileSystem.CurrentDirectory, _
FileIO.SearchOption.SearchAllSubDirectories, TextBox4.Text & "*.*")
ListBox1.Items.Add(foundFile)
ListBox3.Items.Add(foundFile)
Next
Catch ex As UnauthorizedAccessException
MsgBox("Could not access file or not enough priveledges")
End Try
在整个C:\中搜索您输入的文件。虽然我得到的问题是一些目录被拒绝访问或不存在现有目录。我该如何解决这个问题?
由于
答案 0 :(得分:1)
有些目录根本无法像这样访问。使用带有空catch的try / catch循环来吞下错误并获取可以使用的文件。
Try
'code for testing goes here
Catch
End Try
如果没有抛出错误,上面的代码在正确实现时应该有效,如果没有抛出错误,那么什么都不会发生。
答案 1 :(得分:0)
通过授予被拒绝目录的权限,并关闭锁定目录中文件的程序。
MSDN说,在GetFiles方法的上下文中,UnauthorizedAccessException意味着用户缺少必要的权限。见http://msdn.microsoft.com/en-us/library/t71ykwhb(VS.80).aspx
我认为某些目录是由文件系统保留的,不管您的权限如何,都不允许进行某些类型的访问。