小编典典

对于Java中的isDirectory和isFile,文件始终返回false

java

为什么file为isFile()方法返回false ,即使它是file。并且当它是目录时,它为返回false
isDirectory()。难道我做错了什么?我测试的这些文件/目录不存在,我需要创建它们,所以这就是为什么我要测试是否应该使用createFile()或的原因mkdir()

File file = new File("C:/Users/John/Desktop/MyDir/file.txt");
if(!file.exists())
{
    System.out.println("Is directory : " + file.isDirectory());         
    System.out.println("Is file : " + file.isFile());
}

阅读 625

收藏
2020-11-26

共1个答案

小编典典

在你的if,你要检查,如果该文件不存在。如果它不存在,那么它既不是文件也不是目录。

Java无法确定您的File对象是仅包含路径字符串的文件还是目录。字符串可能表示文件或目录(您可以拥有一个名为“
file.txt”的文件夹或具有相同名称的文件)。

2020-11-26