我有以下代码:
FileStream file = new FileStream(@"\\srv\dscan$\001\unknown\2012-04\0011200001001700_001.pdf", System.IO.FileMode.Open);
总是抛出FileNotFoundException
。奇怪的是,如果我将完全相同的路径粘贴到Windows资源管理器中,则可以找到并完全打开该文件。
导致这种情况的原因是什么?是否有一种在共享网络驱动器上处理文件流的特殊方法?
答案 0 :(得分:2)
导致这种情况的原因是什么?
执行包含此代码的进程的帐户没有足够的权限从该位置读取。
答案 1 :(得分:1)
Darin Dimitrov说的话。
您在Windows中登录的用户帐户似乎具有足够的权限,或者您输入的用户名和密码在您标记为“记住”之前。
运行代码时,它可能在最小权限(UAC)下运行,或者您正在创建一个Windows服务,它在一个不同的帐户下运行。
问题还可能与美元符号有关,这表示您正试图达到隐藏的份额。我不知道这本身是否存在问题,但可能会影响你(足够)的权利。
答案 2 :(得分:-1)
C#以不同于Windows资源管理器的方式处理路径。 还有一件事,如果你检查这些帖子: Reading File From Network Location
您会发现需要对配置进行更多的工作。