请参阅代码段:
File[] additionalFiles = new File(FILE_PATH).listFiles();
boolean isDirectory = file.isDirectory();
我已经验证目录路径是正确的,当我在Windows上运行代码时,isDirectory的值为true(应该是)。有关为何在Linux(RedHat Enterprise Linux)上发生这种情况的建议吗?
答案 0 :(得分:6)
符号链接不会读为目录。正确的方法是:
new File(FILE_PATH).getCanonicalFile().isDirectory();
(注意:未经测试,我没有linux盒子可以轻松测试)。
答案 1 :(得分:5)
我曾经历过这个问题。我的情况非常有趣,我正在从属性文件中读取路径,并且该路径在字符串的末尾包含制表符。这就是道路未被识别为目录的原因
答案 2 :(得分:0)
结帐此链接 http://bugs.sun.com/view_bug.do;jsessionid=56e03cb783aaf9725daf5ec8d8?bug_id=6539692
您可能遇到此问题。
否则我会猜测文件权限的问题(虽然这可能会引发安全异常,我假设你的代码没有包装它并返回false)或者可能是一个我不太了解的sym链接问题。