Java符號鏈接

符號鏈接包含對另一個文件或目錄的引用。符號鏈接引用的文件稱爲符號鏈接的目標文件。符號鏈接上的操作對應用程序是透明的。可以使用java.nio.file.Files類處理符號鏈接。

isSymbolicLink(Path p)方法檢查指定路徑指定的文件是否是符號鏈接。Files類的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)方法來創建硬鏈接。