在DirectoryWalker类中,我想确定File实例是否实际上是指向目录的符号链接(假设Walker在UNIX系统上行走)。给定,我已经知道实例是一个目录,以下是否是确定符号链接的可靠条件?
File file;
// ...
if (file.getAbsolutePath().equals(file.getCanonicalPath())) {
// real directory ---> do normal stuff
}
else {
// possible symbolic link ---> do link stuff
}
这是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());
}
问题内容: 如何使用GNU ld将符号链接到特定的固定地址,以便二进制文件仍可以在Linux(x86)中正常执行?不会访问这些符号,但是它们的地址很重要。 例如,我将具有以下结构: 我想链接到地址0x76543210,但通常会链接标准库和应用程序的其余部分。然后,应用程序将使用foobar的地址,但不会引用其后面的(可能不存在)内存。 此请求的基本原理是,可以在两个平台上使用相同的源:在本机平台上
我在这行有一个错误:最终用户=新用户(地址、确认密码、用户电子邮件、密码、电话号码、用户名、链接); 错误为“无法解决符号链接” 我已经删除了一些代码,如果你需要更多细节,请在下面留下评论。有人能帮忙吗?非常感谢你的帮助
问题内容: 给定一个Java“文件”对象,如何检测它是否指向符号链接? (如果有帮助/重要,我知道该文件引用的是目录,而不是文件) 问题答案: 您也可以使用isSymbolicLink(Pathpath)方法。它将更加可靠。 Java Doc“检测符号链接 ”中的类似示例。
问题内容: 我有一个指向重要目录的符号链接。我想摆脱该符号链接,同时保留目录。 我试着回来。 我试着回来 ,然后逐步前进,然后 然后我去找我的后援。 有没有一种方法可以消除符号链接,而不会把婴儿和洗澡水一起扔掉? 问题答案: 基本上,您需要告诉它删除 文件 ,而不是删除 目录 。我相信之间的差异和存在的,因为在C库将每一个的方式不同。 无论如何,第一个应该工作,而第二个应该抱怨foo是目录。 如果
问题内容: 我对Cygwin很陌生。我创建了一个符号链接,如下所示 当我通过Windows 检查驱动器时,我看到一个名为的系统文件。有没有办法使Windows充当文件夹而不是系统文件? 问题答案: 从来没听说过。Cygwin不会将操作系统更新为具有符号链接,而是允许您从Cygwin Shell中“伪造”符号链接。您可以将外壳设置为使用Windows LNK文件,该文件可以执行您想要的操作,但是…