C# - 检查给定的URL是文件还是目录?

时间:2012-10-29 06:41:39

标签: c# path

我有一个输入http,ftp或本地路径的方法。 使用输入URL,我需要确定它是文件还是目录。

Path.GetExtension(url)几乎可以正常工作。但如果目录以/ have'开头。在它的名字中,这个检查将失败。

是否有其他方法可以检查并列出url if directory?

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:1)

以下代码采用路径,查看最后一个子字符串(在最后一个/之后),并检查是否存在“。”在该子字符串中确定它是文件还是路径。 isFile将是一个布尔值,表示该文件是真实的。

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

答案 2 :(得分:0)

您可以使用URI.isFile属性来查看URI的路径中是否有文件。如果不是,则为目录。

Uri uriAddress2 = new Uri("https://www.google.com/testFile.txt");
if (uriAddress2.IsFile)
    Console.WriteLine("URI is a file.");
else
    Console.WriteLine("URI is a directory.");
// Output: "URI is a file."