对于isDirectory,文件返回false,而Java中的isFile [英] File returns always false for isDirectory and isFile in Java

查看:212
本文介绍了对于isDirectory,文件返回false,而Java中的isFile的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么文件对于 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆