File.Exists 找不到文档,但它就在那里
本文关键字:在那里 Exists 找不到 文档 File | 更新日期: 2023-09-27 18:32:07
所以我的字符串一定有问题。
我正在从SQL数据库中获取值,如下所示:
while (reader.Read())
{
// Row Values
// 0 = UID
// 1 = CreatedDate
// 2 = Location
documentID = reader.GetGuid(0);
fileName = reader.GetSqlValue(0).ToString() + ".zip";
location = reader.GetString(2);
createdDate = reader.GetDateTime(1);
从数据库返回的值如下所示:
GUID: DC5A30D7-D528-4BA4-AA5A-5ECEB2CD9006
fileName: DC5A30D7-D528-4BA4-AA5A-5ECEB2CD9006.zip
Location: ''192.168.22.1'documentation
if (!DoesFileExist(location + fileName))
{
// Log error to database
}
static bool DoesFileExist(string location)
{
bool doesExist = false;
if (File.Exists(location))
{
doesExist = true;
}
return doesExist;
}
当它到达部分File.Exists(location)时,它会越过它,就好像它不存在一样。 确实如此... 当我在资源管理器中导航到它时,我发现 zip 文件很好......
我在这里做错了什么?
UID CreatedDate Location
DC5A30D7-D528-4BA4-AA5A-5ECEB2CD9006 2009-10-28 11:17:06.690 ''192.168.22.1'documentation
正如上面示例中所写,Location + Filename
不会生成正确的完整文件名。没有反斜杠将路径与文件名分开。
我建议使用类(System.IO.Path)中Path.Combine
的适当方法来制作正确的完整文件名
if (!DoesFileExist(Path.Combine(location, fileName)))
在我看来,您正在发送:"''192.168.22.1''documentDC5A30D7-D528-4BA4-AA5A-5ECEB2CD9006.zip"到该方法。
尝试在那里放置另一个"''"。
大多数时候我都有这样的问题,这是因为权限。通常,文件资源管理器的用户是不同的,他们试图查找文件存在的文件。如果位置一切正确,则下一个要查找的位置将是权限。