【发布时间】:2014-03-14 23:32:00
【问题描述】:
我有一个由 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
调试器给了我以下信息:
当我运行程序时,它告诉我它不存在! (我在扯我的头发)
【问题讨论】:
-
sNewFileName 真的有“8application2_0001.txt”作为值吗?也许你在它前面加了一个反斜杠。
-
[叹气] 你的调试器在 'sNewFileName' 字符串中显示了什么?如果将字符串表达式加载到中间字符串值中并检查它,那里面有什么?
-
sNewFileName是否也包含扩展名? -
从调试器复制:sNewFileName "8application2_0001.txt" String
-
顺便说一句,在 VB 中使用 '&' 进行字符串连接总是更好,因为在某些 circs 下,'+' 会导致编译器尝试将您的字符串转换为 int(等)和执行加法。在这种情况下看不到它,但要让开是一回事。
标签: asp.net vb.net vb.net-2010