在VB.NET中,有没有办法检查URL是否是目录?我已经看过很多方法来检查本地路径是否是一个目录,但远程网址是什么(即http://website.com/foo)我读到一些纯文本文件没有扩展名所以我需要一个解决方案而不是检查什么如果文件名包含空格或其他内容。
答案 0 :(得分:2)
您可以使用FileAttributes
类:
'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
或者您可以使用Uri
类:
Private IsLocalPath(Byval p As String) As Boolean
Return New Uri(p).IsFile
End Function
您可以增强此方法以包含对某些无效URI的支持:
Private IsLocalPath(Byval p As String) As Boolean
If (p.StartsWith("http:\\")) Then
Return False
End IF
Return New Uri(p).IsFile
End Function
答案 1 :(得分:0)
我能想到的唯一解决方案是尝试从Internet下载文件,如果下载成功那么它是一个文件,否则它不是一个文件(但你不确定这是一个目录)。
答案 2 :(得分:0)
这对我有用......
If System.IO.Path.HasExtension(FileAddress.Text) Then
MessageBox.Show("Its a file")
Else
MessageBox.Show("Its a directory")
End IF