.NET如何检查路径是否是文件而不是目录?

我有一个路径,我需要确定它是一个目录或文件。

这是确定路径是否是文件的最佳方法?

string file = @"C:\Test\foo.txt";

bool isFile = !System.IO.Directory.Exists(file) && 
                         System.IO.File.Exists(file);

对于一个目录,我会扭转逻辑。

string directory = @"C:\Test";

bool isDirectory = System.IO.Directory.Exists(directory) && 
                            !System.IO.File.Exists(directory);

如果两者都不存在,那么我不会去做任何一个分支。所以假设它们都存在。

使用:

System.IO.File.GetAttributes(string path)

并检查返回的FileAttributes结果是否包含值FileAttributes.Directory:

bool isDir = (File.GetAttributes(path) & FileAttributes.Directory)
                 == FileAttributes.Directory;
http://stackoverflow.com/questions/439447/net-how-to-check-if-path-is-a-file-and-not-a-directory

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:.NET如何检查路径是否是文件而不是目录?