1

可能重复:
Java 1.6 - 确定符号链接

我有 2 个文件:

  1. /usr/local/sam/icc/tmp/indus_history.txt

  2. /osp/psmf/service/indus/tmp/indus_history2.txt

文件 1 的父目录是文件 2 的父目录的符号链接,即:

/usr/local/sam/icc/tmp/ --> /osp/psmf/service/indus/tmp/

此外,“文件 1”是“文件 2”的符号链接,即:

indus_history.txt --> /osp/psmf/service/indus/tmp/indus_history2.txt
getAbsoluteFile() on "File 1" returns /usr/local/sam/icc/tmp/indus_history.txt
getCanonicalFile() on "File 1" returns /osp/psmf/service/indus/tmp/indus_history2.txt

这是对的。

但是,如果我删除“文件 1”和“文件 2”之间的符号链接,并在 /usr/local/sam/icc/tmp/ 创建一个物理“文件 1”,那么结果是:

getAbsoluteFile() on "File 1" returns /usr/local/sam/icc/tmp/indus_history.txt
getCanonicalFile() on "File 1" returns /osp/psmf/service/indus/tmp/indus_history.txt

这是因为“文件 1”的父目录是符号链接。

那么如何检查“文件1”是物理文件还是其父目录中的符号链接(即/usr/local/sam/icc/tmp/)?

注意:我知道它在 JAVA 1.7 中很简单,但是如何使用早期版本的 JAVA 呢?

4

0 回答 0