【发布时间】:2013-10-07 16:59:00
【问题描述】:
谁能告诉我如何制作符号链接(以与 MKLINK 相同的方式)和/或使用 Java 删除符号链接。我找到了使用 Java 作为包装器并使用 Windows 本机程序来完成此任务的解决方案,但我真的想要一个纯 Java 解决方案。提前谢谢!
【问题讨论】:
标签: java windows filesystems symlink
谁能告诉我如何制作符号链接(以与 MKLINK 相同的方式)和/或使用 Java 删除符号链接。我找到了使用 Java 作为包装器并使用 Windows 本机程序来完成此任务的解决方案,但我真的想要一个纯 Java 解决方案。提前谢谢!
【问题讨论】:
标签: java windows filesystems symlink
从 Java 7 开始,您可以使用 NIO 包轻松完成此操作。
Path target = Paths.get("target");
Path link = Paths.get("link");
Files.createDirectory(target);
Files.createSymbolicLink(link, target);
请记住,您确实需要正确的权限。在我的单元测试中,我必须以管理员身份运行 eclipse 才能使其正常工作(就像我无法从普通的 cmd.exe 创建链接一样)
【讨论】:
据我所知,window 没有像类 Unix 系统那样的 real 符号链接。
但是 Windows 有以下相关工具:
您可以映射网络驱动器,即将驱动器号附加到指定的网络路径。您绝对可以使用 WMI 做到这一点。要从 Java 访问 WMI,请查看 JaWin、Jinterop、Jintegra 等工具,或者在 JScript o VBScript 中编写 WMI 脚本,然后执行来自 Java。
您可以使用命令subst 将字母分配给本地文件系统路径。这是最接近 Unix 软链接的方法。
您可以创建桌面快捷方式。手动创建一个并查看它。快捷方式实际上是常规文本文件(据我记得是 INI 格式)。您可以使用任何您想要的语言轻松创建一个,包括 java。这不是软链接,但它是可点击的。
【讨论】: