【问题标题】:C# - Check if a given url is file or directory?C# - 检查给定的 url 是文件还是目录?
【发布时间】:2012-10-29 06:41:39
【问题描述】:

我有一个方法可以输入 http 、 ftp 或本地路径。 通过输入的url,我需要决定它是文件还是目录。

Path.GetExtension(url) 几乎可以正常工作。但是如果一个目录以/有'.'开头以它的名义,那么这个检查将失败。

还有其他方法可以检查和列出 url if directory 吗?

【问题讨论】:

    标签: c# path


    【解决方案1】:

    您可以使用File.Exists(url)Directory.Exists(url)

    另一种方法是创建一个扩展数组,然后对照它检查结果Path.GetExtension(url)

    【讨论】:

    • File.Exists(url) 不起作用,因为它会在 http/ftp 情况下返回 false。作为替代方案,我可以考虑您的第二种方法。谢谢 evanmcdonnal
    【解决方案2】:

    以下代码获取路径,查看最后一个子字符串(在最后一个 / 之后)并检查是否有 '.'在该子字符串中确定它是文件还是路径。 isFile 将是一个布尔值,真正的意思是它是一个文件。

    var isFile = new Uri(url).AbsolutePath.Split('/').Last().Contains('.');

    【讨论】:

    • 虽然此代码 sn-p 可能是解决方案,但包含解释确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    • @KurtVandenBranden 有时代码是不言自明的(对于那些可以阅读的人)。不是每段代码都值得这样,否则你只是正式,没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2011-05-31
    • 2011-12-26
    • 1970-01-01
    相关资源
    最近更新 更多