[NIO.2] 第二十四篇 定位链接所指向的目标文件位置

调用 Files.readSymbolicLink() 方法可以返回链接所指向的目标文件的 Path 对象。这个方法接受一个 Path 类型的参数,这个参数必须是一个链接,否则会抛出 NotLinkException 异常。

调用 Files.isSameFile() 方法可以判断链接和文件是否指向同一文件。

下面的例子中,链接为 rafael.nadal.6,目标文件是 C:\rafaelnadal\photos\rafa_winner.jpg,随后读取了链接指向的文件位置,并判断了链接是否与文件是否指向同一文件。

Path link = FileSystems.getDefault().getPath("rafael.nadal.6");
Path target = FileSystems.getDefault().getPath("C:/rafaelnadal/photos", "rafa_winner.jpg");
…
try {
    Path linkedpath = Files.readSymbolicLink(link);
    System.out.println(linkedpath.toString());
    if(Files.isSameFile(link, target)){
        System.out.println("Two paths point to the same location");
    }
} catch (IOException e) {
    System.err.println(e);
} 


文章来源: http://www.aptusource.org/2014/04/nio-2-locating-the-target-of-a-link/

你可能感兴趣的:(java,NIO.2)