Is there a way, in VB.NET, to check if a URL is a directory? I've seen a lot of methods of checking if a local path is a directory but what about a remote url (i.e. http://website.com/foo) I read that some plain text files have no extension so I need a solution other than checking what if the file name contains a space or something.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can use FileAttributes
class:
'get the file attributes for file or directory
FileAttributes attr = File.GetAttributes("c:\\Temp")
'detect whether its a directory or file
If ((attr & FileAttributes.Directory) = FileAttributes.Directory) Then
MessageBox.Show("Its a directory")
Else
MessageBox.Show("Its a file")
End IF
Or you can use the Uri
class:
Private IsLocalPath(Byval p As String) As Boolean
Return New Uri(p).IsFile
End Function
You can enhance this method to include support for certain invalid URIs:
Private IsLocalPath(Byval p As String) As Boolean
If (p.StartsWith("http:\\")) Then
Return False
End IF
Return New Uri(p).IsFile
End Function
回答2:
The only solution I can think of is to try to download the file from the Internet, if the download succeeded So it is a file, otherwise it is not a file (but you don't know for sure that this is a directory).
回答3:
This worked for me...
If System.IO.Path.HasExtension(FileAddress.Text) Then
MessageBox.Show("Its a file")
Else
MessageBox.Show("Its a directory")
End IF