最近在看<Java程序员修炼之道>,主要是看NIO2的相关内容,我依照里面的代码读取文件属性,报错了,下面是代码:
package com.wxl.demo.step3;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.util.Set;
/**
 * NIO2.0的新特性(三) 利用Files类来进行文件操作 创建文件 删除文件 文件移动 文件复制 文件改名 处理符号连接(快捷方式) 访问文件属性
 * */
public class FilesDemo {
	public static void main(String[] args) throws IOException {
		Path path =  Paths.get("D:/nioTest/test1");
		System.out.println("最后修改时间:" +Files.getLastModifiedTime(path));
		// 第一步得到所有文件属性,放到一个PosixFileAttributes实例中
		PosixFileAttributes attrs = Files.readAttributes(path, PosixFileAttributes.class);//这里报错了
		// 第二步读取访问许可
		Set<PosixFilePermission> permissions = attrs.permissions();
		// 第三步取消默认许可
		permissions.clear();
		// 第四步定义自己的许可,使用permissions.add()方法
		permissions.add(PosixFilePermission.OWNER_WRITE);// 所有者写权限
		permissions.add(PosixFilePermission.OWNER_READ);// 所有者读权限
		permissions.add(PosixFilePermission.GROUP_READ);// 组用户读权限
		permissions.add(PosixFilePermission.OTHERS_READ);// 其他用户读权限
		Files.setPosixFilePermissions(path, permissions);// 设置新的权限;
	}
} 
运行是得到如下错误信息:
-----------------------------------------
 Exception in thread "main" java.lang.UnsupportedOperationException
 at sun.nio.fs.WindowsFileSystemProvider.readAttributes(Unknown Source)
 at java.nio.file.Files.readAttributes(Unknown Source)
 at com.wxl.demo.step3.FilesDemo.main(FilesDemo.java:21)
 最后修改时间:2013-09-29T16:26:59.21548Z 
-----------------------------------------
不知道是不是我系统原因?
win7 x64 6G
jdk7 x64
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
去linux下面跑吧。windows下是java.nio.file.attribute.DosFileAttributes<spanstyle="font-family:Consolas,'BitstreamVeraSansMono','CourierNew',Courier,monospace;line-height:14.65625px;background-color:#FFFFFF;">PosixFileAttributes:只适于兼容posix标准的文件系统属性。虽然微软号称也兼容posix,但还差很远。还是根据操作系统来判断比较好点。<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/10.gif"alt=""/>