为什么这个返回false在Java?UNC路径.exists()返回false
new File("\\\\10.10.1.4").exists()
但
new File("\\\\10.10.1.4\\dir").exists()
返回true。
如果我打开的第一个地址(没有“目录”)在Windows Explorer中我看到的内容,所以我不认为这是一个权限问题因为窗户可以看到它只是罚款
同样的事情发生与File.listFiles()。第一个地址返回null但第二返回的实际内容
最后,如果一切都失败了,有没有其他的方式来测试,如果一个UNC地址(只是没有目录IP)存在并列出其内容?
如何列出10.10.1.4的内容然后?我需要遍历整个树,所以我只是没有'dir',我需要看10.10.1.4下的所有东西。尾部的斜线不起作用 – Hilikus 2012-08-07 14:01:35
另外,我不认为我同意你的类比。你的比喻是,如果我试图打开“\\ 10.10.1”,这是一个不完整的地址。 \\ 10.10.1.4是一个完整的非模糊地址,可解析为单个设备。如果\\ 10.10.1.4 \ dir \列出了10.10.1.4中的'dir'的内容,为什么\\ 10.10.1.4列出了设备共享中的根目录?这听起来像是说C:\不是一个有效的路径,因为它有一个目录,所以我应该尝试C:\ dir – Hilikus 2012-08-07 14:50:04
@Hilikus \\ 10.10.1.4它不是根设备,它没有与File.listRoots一起列出,这是一项提供共享点的服务。您可以尝试查看http://stackoverflow.com/questions/8480622/shares-under-ip – MadProgrammer 2012-08-07 19:34:05