可能重复:
.NET How to check if path is a file and not a directory?
有人能想出一个很好的方法来判断文件系统对象路径是等同于文件还是目录?
我确实有以下方法:
public static bool PathIsFile(this string fullPath)
{
return (Path.GetExtension(fullPath).Length > 0);
}
但是有些文件没有扩展名,有些目录名称中有一个点,所以这并没有削减它。
答案 0 :(得分:2)
你有没有签出:
System.IO.Directory.Exists(path);
和
System.IO.File.Exists(path);
这些返回布尔值,但是如果分别给定文件或目录,我无法找到(此时)它们引发的错误。
还有System.IO.FileInfo
和System.IO.DirectoryInfo
类可以帮到你。
答案 1 :(得分:1)
从字符串分析中无法知道某些内容是文件或目录,因为正如您所指出的那样,
C:\WINDOWS\WhoKnowsWhatThisIs
可能是目录或文件。
您必须拨打System.IO.Directory.Exists()
或System.IO.File.GetAttributes()
之类的内容进行测试。
答案 2 :(得分:0)
答案 3 :(得分:0)
你必须问文件系统。它总是知道。这是唯一万无一失的方式。
f1 = File(path);
bool isfile = f1.isFile();
bool isdir = f1.isDirectory();
是来自Java.IO.File的一个例子。
答案 4 :(得分:0)