Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
526 views
in Technique[技术] by (71.8m points)

VB.NET - Check if URL is a directory or file

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...