对于isDirectory,文件返回false,而Java中的isFile [英] File returns always false for isDirectory and isFile in Java
问题描述
为什么文件对于 isFile()
方法返回false,即使它是文件。当它是目录时,它为 isDirectory()
返回false。难道我做错了什么?我测试的这些文件/目录不存在,我需要创建这些,所以这就是为什么我要测试我是否应该使用 createFile()
或 mkdir()
。
Why file returns false for isFile()
method, even when it is file. And when it is directory, it returns false for isDirectory()
. Am I doing something wrong? These files/directories I test don't exists, and I need to create these, so that is why I am testing if I should use createFile()
or 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());
}
推荐答案
在你的 if
您正在检查文件是否不存在。如果它不存在那么它既不是文件也不是目录。
In your if
you're checking if the file doesn't exist. If it doesn't exist then it's neither a file nor a directory.
Java无法确定您的File对象是文件还是仅包含路径字符串的目录。 String可以表示文件或目录(您可以拥有名为file.txt的文件夹或具有相同名称的文件)。
Java can't determine if your File object is a file or a directory only with a path string. The String could mean a file or a directory (you can have a folder named "file.txt" or a file with the same name).
这篇关于对于isDirectory,文件返回false,而Java中的isFile的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!