2

我们尝试访问某个文件夹下的文件,在 WinXP 中,该文件夹可以是本地磁盘或映射的网络驱动器。但是当我们将程序更改为在 Windows 2008 R2 上运行时,它可以访问本地磁盘,但不能访问映射的网络驱动器。映射的网络驱动器已检查是否使用正确的用户登录。

我们在资源管理器中尝试,映射的驱动器可以按照我们的意愿读/写,但 Java 只是显示“文件夹不存在”

这是我们的代码,任何建议将不胜感激。

    #import java.io.File;
    ...
    File folder = new File(folderPath);
    if(!folder.exists()){
        // do something
        log.debug("Folder doesn't exist");
    } else {
        // do something else
    }
    ...
4

2 回答 2

6

当前用户可能找不到映射的驱动器。例如,如果您以管理员身份启动某些 jar 可执行文件,它可能找不到在用户凭据下映射的网络驱动器。总之,它可能是一个用户识别问题。

于 2012-09-07T10:46:31.163 回答
2

我在使用 64 位 Windows Server 2008 时遇到了这个问题,并且在使用带有网络字母的路径(例如X:\EXAMPLE\PATH)时运气不佳。使用完整的网络路径 ( \\SERVER\EXAMPLE\PATH) 没问题。运行程序的用户应该可以访问该路径。

于 2011-11-24T02:06:31.613 回答