Java判断一个文件是否是链接文件

Apache使用这样的方式来判断:

public static boolean isSymlink(File file) throws IOException {
		if (file == null)
			throw new NullPointerException("File must not be null");
		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());
	}
这种判断方式的依据就是,如果是链接文件(软连接、硬链接),那么getCanonicalFile和getAbsoluteFile的返回值是不一样的。否则一样。

你可能感兴趣的:(Java判断一个文件是否是链接文件)