开发者社区> 问答> 正文

javaNIO2 如何获取文件权限??报错

最近在看<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

展开
收起
爱吃鱼的程序员 2020-06-22 15:21:52 599 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    去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=""/>

    2020-06-22 15:22:10
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载