我想确定文件夹是否包含文件,两者都是由路径指定的。
乍一看,这似乎很简单。只需检查文件路径是否以目录路径开头。但是,这种天真的检查忽略了几个问题:框架中是否存在现有方法,还是我必须自己编写?
答案 0 :(得分:2)
据我所知,没有内置的.NET方法可以做到这一点,但是下面的函数应该使用FileInfo和DirectoryInfo类来完成这个:
public static bool FolderContainsFile(String folder, String file)
{
//Create FileInfo and DirectoryInfo objects
FileInfo fileInfo = new FileInfo(file);
DirectoryInfo dirInfo = new DirectoryInfo(folder);
DirectoryInfo currentDirectory = fileInfo.Directory;
if (dirInfo.Equals(currentDirectory))
return true;
while (currentDirectory.Parent != null)
{
currentDirectory = currentDirectory.Parent;
if(currentDirectory.Equals(dirInfo)
return true;
}
return false;
}
答案 1 :(得分:1)
我不确定它是否适用于所有情况,但我建议您查看Path.GetFullPath。
Quote:返回指定路径字符串的绝对路径。