3

为什么这在java中返回false?

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

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

返回真。

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

File.listFiles() 也会发生同样的事情。第一个地址返回 null 但第二个返回实际内容

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

4

2 回答 2

3

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

我就像向街道地址发送一封信,但留下门牌号码......它没有可以从中删除的上下文点。这里也是一样。Java 看不到\\10.10.14as File,因此它不存在(从 a 的上下文中File

于 2012-08-06T22:56:42.377 回答
2

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

File("\\10.10.1.4\") 可能会。

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

于 2012-08-06T22:35:31.207 回答