使用 Java 创建符号链接

2022-09-04 04:01:05

我在Java中创建指向目录的符号链接时遇到问题。我正在使用来自 Files 类的 createSymbolicLink() 方法:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

绝对路径:

  • 目标:/some/path/target
  • 链接:/some/path/xxx/linkname

我希望在目录中创建一个指向文件夹的链接,但相反,会创建一个指向的链接。我只是无法弄清楚我做错了什么。/some/path/xxx//some/path/target/some/path/xxx/linkname/some/path/xxx/target

当我创建一个链接从 到 时,一切都按预期工作。/some/path/linkname/some/path/target

任何帮助都非常感谢。

编辑:这是我的代码:

Path records = Paths.get(Properties.getProperty("records.path"));
Path recordsLink = Paths.get(Properties.getProperty("webserver.root") + System.getProperty("file.separator") + records.getFileName());
try {
    Files.createSymbolicLink(recordsLink, records);
} catch (IOException e) {
    e.printStackTrace();
}

“records.path”和“webserver.root”都是相对路径。

实际上,我刚刚找到了问题的解决方案:如果我这样做,它的工作原理是:

records = records.toAbsolutePath();

我假设意志使用绝对路径来创建链接,这是错误的。createSymbolicLink()


答案 1

我找到了问题的解决方案:如果我这样做,它的工作原理:

records = records.toAbsolutePath();

我假设将使用绝对路径来创建链接,这是错误的。createSymbolicLink()


答案 2

推荐