Java .isDirectory()也在没有扩展名的文件上返回true

时间:2011-10-06 15:59:27

标签: java file directory

我注意到检查File类的实例是否是带有方法isDirectory()的目录,对于没有扩展名的文件,此方法也返回true。

例如,如果我有一个没有exetension的文件名myfile isDirectory()方法返回true,是否有另一种方法检查传递的文件是否真的是一个目录?

我正在尝试Windows ...

3 个答案:

答案 0 :(得分:6)

在我的Windows7,JDK 6上正常工作。尝试升级您的JRE / JDK并仔细检查您是否没有同名目录。我用这个片段来检查:

File file = new File("C:\\tomcat\\apache-tomcat-7.0.20\\LICENSE");
System.out.println(file.isDirectory()); // prints false

答案 1 :(得分:4)

我已经尝试过Windows 7 32位,64位JDK 6和7以及这两种方法对我来说绝对没问题。无法找到任何此类性质的错误报告,您使用的是什么代码?我非常怀疑这是一个迄今为止未被发现的错误!

答案 2 :(得分:2)

也许该目录既包含带扩展名的文件,也包含具有相同名称但没有扩展名的目录。然后配置Windows文件浏览器以隐藏扩展名,认为显示的是文件的真实名称和全名,将其放入一些测试代码中......宾果。