Directory.Exists(文件)无法正常工作

时间:2014-02-13 14:38:38

标签: c# asp.net-mvc asp.net-mvc-3 directory

string sourcePath = GetValue(key); 

if (!Directory.Exists(@sourcePath))
{
    throw new Exception("Source path in does not exist");
}

在调试中,查看sourcePath的文本可视化工具返回文件的位置:

  

C:\用户\约翰\桌面\ Sales.dat

即使我知道flie存在,也会引发异常。我可以在桌面上看到它,如果我将C:\ Users \ John \ Desktop \ Sales.dat粘贴到资源管理器中,则会打开该文件。请指教。

3 个答案:

答案 0 :(得分:5)

问题:您正在使用Directory.Exists()方法检查文件是否存在。

解决方案:您需要使用File.Exists()方法检查文件是否存在。

来自MSDN:

  

File.Exists()方法确定指定的文件是否存在。

试试这个:

if (!File.Exists(@sourcePath))
{
    throw new Exception("Source path in does not exist");
}

答案 1 :(得分:3)

如果你想知道文件是否存在,那么File.Exists可能是比Directory.Exists更好的选择,它会告诉你目录是否存在。

答案 2 :(得分:1)

如果你真的需要使用Directory.Exists(),你可以这样做:

if(!Directory.Exists(new FileInfo(sourcePath).DirectoryName))
{
    throw new Exception("Source path in does not exist");
}