【发布时间】:2012-10-29 06:41:39
【问题描述】:
我有一个方法可以输入 http 、 ftp 或本地路径。 通过输入的url,我需要决定它是文件还是目录。
Path.GetExtension(url) 几乎可以正常工作。但是如果一个目录以/有'.'开头以它的名义,那么这个检查将失败。
还有其他方法可以检查和列出 url if directory 吗?
【问题讨论】:
我有一个方法可以输入 http 、 ftp 或本地路径。 通过输入的url,我需要决定它是文件还是目录。
Path.GetExtension(url) 几乎可以正常工作。但是如果一个目录以/有'.'开头以它的名义,那么这个检查将失败。
还有其他方法可以检查和列出 url if directory 吗?
【问题讨论】:
您可以使用File.Exists(url) 和Directory.Exists(url)
另一种方法是创建一个扩展数组,然后对照它检查结果Path.GetExtension(url)。
【讨论】:
以下代码获取路径,查看最后一个子字符串(在最后一个 / 之后)并检查是否有 '.'在该子字符串中确定它是文件还是路径。 isFile 将是一个布尔值,真正的意思是它是一个文件。
var isFile = new Uri(url).AbsolutePath.Split('/').Last().Contains('.');
【讨论】: