Java File.isDirectory()在Linux中为目录返回False

she*_*536 6 java file-io

请参阅代码段:

File[] additionalFiles = new File(FILE_PATH).listFiles();
boolean isDirectory = file.isDirectory();
Run Code Online (Sandbox Code Playgroud)

我已经验证了目录路径是正确的,当我在Windows上运行代码时,isDirectory的值为true(应该是这样).有关为何在Linux(RedHat Enterprise Linux)上发生这种情况的建议吗?

Yis*_*hai 6

如果我没记错的话,符号链接不会读作目录.正确的方法是:

 new File(FILE_PATH).getCanonicalFile().isDirectory(); 
Run Code Online (Sandbox Code Playgroud)

(注意:未经测试,我没有linux盒子可以轻松测试).


小智 5

我曾经历过这个问题.我的情况非常有趣,我正在从属性文件中读取路径,并且该路径在字符串的末尾包含制表符.这就是路径未被识别为目录的原因