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

File.Exists 找不到文档,但它就在那里

正如上面示例中所写,Location + Filename不会生成正确的完整文件名。没有反斜杠将路径与文件名分开。
我建议使用类(System.IO.Path)中Path.Combine的适当方法来制作正确的完整文件名

if (!DoesFileExist(Path.Combine(location, fileName)))

在我看来,您正在发送:"''192.168.22.1''documentDC5A30D7-D528-4BA4-AA5A-5ECEB2CD9006.zip"到该方法。

尝试在那里放置另一个"''"。

大多数时候我都有这样的问题,这是因为权限。通常,文件资源管理器的用户是不同的,他们试图查找文件存在的文件。如果位置一切正确,则下一个要查找的位置将是权限。

相关文章: