即使文件存在,Java isFile也返回false

时间:2016-07-06 16:54:11

标签: java file-io

我在Linux上有一个文件:

[root@localhost ~]# touch /tmp/test.txt
[root@localhost ~]# ls -l /tmp/test.txt
-rw-r--r--. 1 root root 0 Jul  6 11:44 /tmp/test.txt

我有以下Java代码:

File f = new File("/tmp/test.txt");
System.out.print(f.isFile());

由于某种原因,输出始终为false。那是为什么?

根据我的理解,该文件是一个常规文件,所有人都可以读取该目录。我不清楚为什么它会返回false。

1 个答案:

答案 0 :(得分:0)

当且仅当此抽象路径名表示的文件存在并且是一个普通文件,否则为假。

那么什么是normal file? Java 应用程序创建的任何非目录文件都保证是普通文件或满足其他依赖于系统的标准。

所以不要使用这个功能。您可以使用 File.exists!File.isDirectory 来实现此功能。