为什么在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)是否存在并列出其内容?
答案 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 \”)可能会这样做。
浏览器/资源管理器自动添加反斜杠,这就是显示内容的原因。