我写了一个程序的bizzare问题,其中命令File.Exists()并不总是在与可执行文件相同的目录中检测到相同的文件.
我有类似的东西:
if (File.Exists("TextFile1.txt"))
{
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,如果我在cmd提示符下运行此可执行文件,它不会检测到该文件.但是,如果我通过另一个进程启动此可执行文件,它将检测文件精细.
关于这个bizzare问题的任何想法?谢谢.
Dar*_*rov 13
这是可执行文件工作目录的相对文件路径.从命令提示符运行应用程序时,工作目录将设置为可执行文件所在的目录.当您通过另一个进程(Process.Start)运行此可执行文件时,工作目录是主进程的工作目录.您可以在运行进程之前修改工作目录,也可以使用绝对文件路径.
另外要记住的是,如果您运行代码的帐户对该文件夹没有足够的权限,File.Exists可能会返回false.
如果调用者具有所需权限并且path包含现有文件的名称,则为true;否则为false.否则,错误.如果path为null,无效路径或零长度字符串,则此方法也返回false.如果调用者没有足够的权限来读取指定的文件,则不会抛出异常,并且无论路径是否存在,该方法都返回false.
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |