我在 Windows 64 位上使用 Oracle Java 7。
当我使用Files.createSymbolicLink创建符号链接时,我注意到这种行为:
- 如果目标是目录,则创建“目录符号链接”。
- 如果目标是文件,则创建“文件符号链接”。
- 如果目标不存在,则创建“文件符号链接”。
符号链接的类型是固定的,永远不会改变,不管它的目标有什么改变。
使用 Windows 的本机mklink
命令,可以强制链接类型为“目录符号链接”。是否可以使用本机 Java API 或某些库来实现这一点?
一种琐碎而丑陋的方法是:
- 如果目标是目录,只需创建链接
- 如果目标不存在,则创建一个新的空目标目录,创建链接,然后删除该目录。
- 如果目标是一个文件......处理它(移动它,应用#2,将它移回)。
丑陋的。