代码说文件不存在,但存在

时间:2014-02-15 14:53:21

标签: asp.net vb.net vb.net-2010

我有一个OCR程序创建的文件,我正在创建后尝试访问该文件。在我的代码中,我正在检查文件是否存在。如果我这样检查:

 If File.Exists("C:\inetpub\wwwroot\usbtest\Portals\0\uploads\" + sNewFileName) Then

程序说文件不存在。 但是,如果我设置这样的路径:

 If File.Exists("C:\inetpub\wwwroot\usbtest\Portals\0\uploads\8application2_0001.txt") Then

程序继续进行。

当我调试并逐行进入代码时,程序执行并使用参数化字符串返回文件存在(第一个代码示例)

  • 我已将文件/文件夹权限设置为完全控制给每个人(仅适用于此测试)。 该文件不是只读的,并且“可以存档”。

有什么想法吗?

编辑:

我根据以下建议修改了代码:

            Dim sPortalPath, sFullPath, sDirPath As String
            sDirPath = "C:\inetpub\wwwroot\usbtest\"
            sPortalPath = "Portals\0\uploads\"
            sFullPath = sDirPath & sPortalPath & sNewFileName

            If File.Exists(sFullPath) = True Then

调试器给了我以下内容: enter image description here

当我运行程序时,它告诉我它不存在! (我拉着头发)

3 个答案:

答案 0 :(得分:0)

将您的文件放在字符串变量

 Dim nStr As String = "C:\inetpub\wwwroot\usbtest\Portals\0\uploads\" & sNewFileName) 

然后做你的检查......

If File.Exist(nStr) Then ...

编辑尝试一下......

 Dim myFilePath as string=Server.MapPath ("~/myfolder/" & sNewFileName)
 If File.Exists(myFilePath) Then
 'do my work here'
 End If

答案 1 :(得分:0)

在VB中,您应该使用&运算符

连接字符串
If File.Exists("C:\inetpub\wwwroot\usbtest\Portals\0\uploads\" & sNewFileName) Then

而不是

If File.Exists("C:\inetpub\wwwroot\usbtest\Portals\0\uploads\" + sNewFileName) Then

答案 2 :(得分:0)

以下是MSDN解释File.Exists Method

的链接