0

有没有办法在 VB.NET 中检查 URL 是否是目录?我见过很多检查本地路径是否是目录的方法,但是远程 url(即http://website.com/foo)呢?我读到一些纯文本文件没有扩展名,所以我需要一个解决方案除了检查文件名是否包含空格或其他内容。

4

3 回答 3

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
于 2013-04-07T07:37:28.070 回答
0

我能想到的唯一解决办法就是尝试从网上下载文件,如果下载成功那么它就是一个文件,否则就不是一个文件(但是你不能确定这是一个目录)。

于 2013-04-07T05:19:30.910 回答
0

这对我有用...

If System.IO.Path.HasExtension(FileAddress.Text)  Then
   MessageBox.Show("Its a file")
Else
   MessageBox.Show("Its a directory")
End IF
于 2016-03-26T08:26:35.620 回答