我有一个路径,我需要确定它是目录还是文件。
这是确定路径是否是文件的最佳方法吗?
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;
关于.NET 如何检查路径是否是文件而不是目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/439447/