UNC Path .exists()返回false

时间:2012-08-06 22:27:16

标签: java

为什么在java中返回false?

new File("\\\\10.10.1.4").exists() 

但是

new File("\\\\10.10.1.4\\dir").exists() 

返回true。

如果我在Windows资源管理器中打开第一个地址(没有'dir'),我会看到内容,所以我不认为这是一个权限问题,因为Windows可以看到它很好

File.listFiles()也是如此。第一个地址返回null,但第二个地址返回实际内容

最后,如果所有其他方法都失败了,还有其他方法来测试UNC地址(只是没有目录的ip)是否存在并列出其内容?

2 个答案:

答案 0 :(得分:3)

\\10.10.1.4是一个地址,而不是共享引用,它不指向已挂载的文件系统。 \\10.10.1.4\dir指向一个已安装文件系统的共享点。

我想给一个街道地址写一封信,但留下门牌号码......它没有得到可以传达的背景。这同样如此。 Java没有将\\10.10.14视为File,因此它不存在(来自File的上下文)

答案 1 :(得分:2)

文件(“\\ 10.10.1.4”)不存在。

文件(“\\ 10.10.1.4 \”)可能会这样做。

浏览器/资源管理器自动添加反斜杠,这就是显示内容的原因。

相关问题