Java 符号链接

Java IO教程 - Java符号链接


符号链接包含对另一个文件或目录的引用。

符号链接引用的文件称为符号链接的目标文件。

符号链接上的操作对应用程序是透明的。我们可以使用java.nio.file.Files类处理符号链接。

isSymbolicLink(Path p)方法检查指定路径指定的文件是否是符号链接。

文件的createSymbolicLink()方法(可能不是在所有平台上都支持)创建符号链接。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {
  public static void main(String[] args) throws Exception {
    Path existingFilePath = Paths.get("C:\\Java_Dev\\test1.txt");
    Path symLinkPath = Paths.get("C:\\test1_link.txt");
    Files.createSymbolicLink(symLinkPath, existingFilePath);
  }
}

默认情况下,Java NIO API遵循符号链接。我们可以指定是否要遵循符号链接。使用枚举常量LinkOption来指示不遵循符号链接的选项。 NOFOLLOW_LINKS。

LinkOption枚举在java.nio.file包中声明。支持此选项的方法让我们传递LinkOption类型的参数。

我们可以使用Files类的createLink(Path newLink,Path existingPath)方法来创建硬链接。