[NIO.2] 第二十二篇 创建硬链接
程序员文章站
2024-01-05 11:10:58
...
可以调用 createLink() 方法创建硬链接,它将会创建已存在文件的硬链接。这个方法返回新链接的 Path 对象,你可以使用这个 Path 对象来访问文件。
如果你的文件系统不支持硬链接,那么将会抛出 UnsupportedOperationException 异常。另外,要记住,硬链接只能为已存在的文件创建。
下面的代码演示了如何创建一个硬链接,名为 rafael.nadal.4 目标文件为 C:\rafaelnadal\photos\rafa_winner.jpg(这个文件必须存在,并且文件系统必须有创建硬链接的权限)。
注:如果链接已经存在,那么会抛出 FileAlreadyExistsException 异常。
文章来源:[url]http://www.aptusource.org/2014/04/nio-2-creating-a-hard-link/[/url]
如果你的文件系统不支持硬链接,那么将会抛出 UnsupportedOperationException 异常。另外,要记住,硬链接只能为已存在的文件创建。
下面的代码演示了如何创建一个硬链接,名为 rafael.nadal.4 目标文件为 C:\rafaelnadal\photos\rafa_winner.jpg(这个文件必须存在,并且文件系统必须有创建硬链接的权限)。
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
public class Main {
public static void main(String[] args) {
Path link = FileSystems.getDefault().getPath("rafael.nadal.4");
Path target = FileSystems.getDefault().getPath("C:/rafaelnadal/photos", "rafa_winner.jpg");
try {
Files.createLink(link, target);
System.out.println("The link was successfully created!");
} catch (IOException | UnsupportedOperationException | SecurityException e) {
if (e instanceof SecurityException) {
System.err.println("Permission denied!");
}
if (e instanceof UnsupportedOperationException) {
System.err.println("An unsupported operation was detected!");
}
if (e instanceof IOException) {
System.err.println("An I/O error occured!");
}
System.err.println(e);
}
}
}
注:如果链接已经存在,那么会抛出 FileAlreadyExistsException 异常。
文章来源:[url]http://www.aptusource.org/2014/04/nio-2-creating-a-hard-link/[/url]