`
cucaracha
  • 浏览: 141184 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A8f3fa2f-18ce-3862-897a-5d2209197c90
Java NIO.2
浏览量:87763
7a076ba7-8ec8-3241-aa3c-67bb2f7856a2
Java EE 7 简明教...
浏览量:36627
社区版块
存档分类
最新评论

[NIO.2] 第二十二篇 创建硬链接

阅读更多
可以调用 createLink() 方法创建硬链接,它将会创建已存在文件的硬链接。这个方法返回新链接的 Path 对象,你可以使用这个 Path 对象来访问文件。

如果你的文件系统不支持硬链接,那么将会抛出 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 异常。

文章来源:http://www.aptusource.org/2014/04/nio-2-creating-a-hard-link/
0
0
分享到:
评论

相关推荐

    jre1.6安装版(含32位和64位)

    - **NIO.2**:引入了新的非阻塞I/O API,使得网络编程更为高效。 - **脚本语言支持**:通过JSR 223,Java 6开始支持内置的脚本引擎,如JavaScript。 - **改进的数据库连接**:JDBC 4.0引入了自动发现数据库驱动和...

    Java_day27上课资料.zip

    从标题来看,这是课程的第二十七天内容,意味着它可能建立在之前26天所学的基础之上,深入讲解了Java语言的某些关键概念。 在Java学习的第27天,可能会涉及以下知识点: 1. **多线程**:Java以其强大的多线程支持...

    java面试宝典

    #### 第二章 Java基础 21. **“==”与“equals”区别**:“==”比较的是两个对象的引用,而equals()比较的是两个对象的内容。 22. **接口和抽象类的区别**:接口只能包含抽象方法和常量,抽象类可以包含普通方法和...

    Java资源包01

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包2

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包101

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    阿里面试题总结和答案整理

    - 第二范式(2NF):消除非主属性对主键的部分依赖。 - 第三范式(3NF):消除非主属性对主键的传递依赖。 #### 22. 数据库中的索引的结构?什么情况下适合建索引? - **知识点概述**:索引是提高数据库查询效率...

    java开源包10

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    JAVA 面试题总览(书签完整版)

    #### 22. 数组与链表的数据结构描述及其时间复杂度 - **数组**:连续内存空间,随机访问时间复杂度O(1),插入删除操作时间复杂度O(n)。 - **链表**:通过指针链接节点,随机访问时间复杂度O(n),插入删除操作时间...

    java开源包1

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包11

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包3

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包6

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包5

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包4

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包8

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包7

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包9

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...

Global site tag (gtag.js) - Google Analytics