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