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粘贴到资源管理器中,则会打开该文件。请指教。
答案 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");
}