彼らは(their licenseに対象)Apache Commonsで行う方法これは本質的である:@LarsHコメントへ
public static boolean isSymlink(File file) throws IOException {
File canon;
if (file.getParent() == null) {
canon = file;
} else {
File canonDir = file.getParentFile().getCanonicalFile();
canon = new File(canonDir, file.getName());
}
return !canon.getCanonicalFile().equals(canon.getAbsoluteFile());
}
編集感謝を。 上記のコードは、子ファイルがシンボリックリンクであるかどうかのみをチェックします。
OPの質問に答えるためには、さらに簡単です:
public static boolean containsSymlink(File file) {
return file.getCanonicalFile().equals(file.getAbsoluteFile());
}
出典
2011-09-02 09:51:29
rds
あなたは私たちのコードを示すことができますか? –
ここで確認できます:http://stackoverflow.com/questions/813710/java-1-6-determine-symbolic-linksそれはあなたを助けるかもしれない! –
先生、コードに特化したものは何もありません。私は非常に簡単な質問があります。 listFiles()関数を使用してディレクトリをスキャンします。ただし、/ mnt/scardと/ sdcardの2つのディレクトリがあります。 1つは他へのシンボリックリンクです。私はちょうどこれらの2つを区別する方法があるかどうかを知りたいのです..フォルダがシンボリックリンクであることを知る方法はありますか?ありがとうございます – Farhan