当前位置: 首页 > 面试题库 >

Java 1.6-确定符号链接

王波
2023-03-14
问题内容

在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文件,该文件可以执行您想要的操作,但是…