我们尝试访问某个文件夹下的文件,在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
}
...
答案 0 :(得分:5)
可能找不到当前用户的映射驱动器。例如,如果您将某个jar可执行文件作为 administrator 启动,则可能找不到在 user 凭据下映射的网络驱动器。总之,它可能是用户识别问题。
答案 1 :(得分:1)
我在使用Windows Server 2008 64bit时出现此问题,并且使用带有网络字母的路径(例如X:\EXAMPLE\PATH
)没有运气。使用完整的网络路径(\\SERVER\EXAMPLE\PATH
)是可以的。该路径应该可供运行该程序的用户访问。