博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java7 NIO2(3) 文件链接操作
阅读量:5227 次
发布时间:2019-06-14

本文共 2939 字,大约阅读时间需要 9 分钟。

  java 7 NIO2中文件系统支持软链接,硬链接的API,

import java.io.IOException;import java.nio.file.FileSystems;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.attribute.FileAttribute;import java.nio.file.attribute.PosixFileAttributes;import java.nio.file.attribute.PosixFilePermission;import java.nio.file.attribute.PosixFilePermissions;import java.util.Set;public class NIO2FileLink {	/**	 * @param args	 */	public static void main(String[] args) {		Path link = FileSystems.getDefault().getPath(				System.getProperty("user.home"), "www",				"pyweb.settings");		Path target = FileSystems.getDefault().getPath("testlink");		// 创建软链接		try {			Files.createSymbolicLink(link, target);			// 创建软链接时设置软链接的属性			PosixFileAttributes attrs = Files.readAttributes(target,					PosixFileAttributes.class);			FileAttribute
> attr = PosixFilePermissions .asFileAttribute(attrs.permissions()); Files.createSymbolicLink(link, target, attr); } 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 occurred!"); } System.err.println(e); } // 检查是否是软链接 boolean link_isSymbolicLink_1 = Files.isSymbolicLink(link); boolean target_isSymbolicLink_1 = Files.isSymbolicLink(target); System.out.println(link.toString() + " is a symbolic link ? " + link_isSymbolicLink_1); System.out.println(target.toString() + " is a symbolic link ? " + target_isSymbolicLink_1); try { boolean link_isSymbolicLink_2 = (boolean) Files.getAttribute(link, "basic:isSymbolicLink"); boolean target_isSymbolicLink_2 = (boolean) Files.getAttribute( target, "basic:isSymbolicLink"); System.out.println(link.toString() + " is a symbolic link ? " + link_isSymbolicLink_2); System.out.println(target.toString() + " is a symbolic link ? " + target_isSymbolicLink_2); } catch (IOException | UnsupportedOperationException e) { System.err.println(e); } //读取软链接对应的文件 try { Path linkedpath = Files.readSymbolicLink(link); System.out.println(linkedpath.toString()); } catch (IOException e) { System.err.println(e); } // 创建硬链接 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); } }}

转载于:https://www.cnblogs.com/zhwj184/archive/2012/12/30/3027444.html

你可能感兴趣的文章
44.纯 CSS 创作背景色块变换的按钮特效
查看>>
TopCoder SRM 571 题解
查看>>
CentOS 6.2 安装chromium,并可以使用yum update保持更新
查看>>
vue.js计算属性 vs methods
查看>>
Day004课程内容
查看>>
调整显示屏幕偏移和刷新频率[zt]
查看>>
JavaScript:使用JavaScript 实现注册表单的校验
查看>>
Android4.0 Camera架构初始化流程【转】
查看>>
salt-api起不来:ImportError('No module named wsgiserver2',)
查看>>
开源词袋模型DBow3原理&源码(一)整体结构
查看>>
JDK 1.6 下载 地址
查看>>
【 VS 插件开发 】一、正确安装VS专业版
查看>>
代替图片
查看>>
UVA 12295 Optimal Symmetric Paths
查看>>
jsp简单注册验证
查看>>
C++类型转换总结【转】
查看>>
内核中的锁机制--RCU
查看>>
AutoBackupForApps
查看>>
AndroidStudio升级到2.3版本无法编译的解决方法
查看>>
Adaboost
查看>>