可能重复:
Java 1.6 - 确定符号链接
我有 2 个文件:
/usr/local/sam/icc/tmp/indus_history.txt
/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 呢?