VB.NET - 检查URL是目录还是文件

时间:2013-04-07 04:46:34

标签: vb.net directory

在VB.NET中,有没有办法检查URL是否是目录?我已经看过很多方法来检查本地路径是否是一个目录,但远程网址是什么(即http://website.com/foo)我读到一些纯文本文件没有扩展名所以我需要一个解决方案而不是检查什么如果文件名包含空格或其他内容。

3 个答案:

答案 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