繁体   English   中英

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

[英]Java isFile returns false even when file exists

我在 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。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM