【发布时间】:2016-07-06 16:54:11
【问题描述】:
我在 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。
【问题讨论】:
-
JVM 认为文件不正常
-
尝试使用绝对路径访问文件。
-
文件归 root 用户/组所有...您的 java 代码是否也以 root 身份运行?我不确定这是否会导致您面临的问题。
-
您对
File所做的任何事情都将应用于客户端文件系统,而不是服务器的。