zoukankan      html  css  js  c++  java
  • AttributeView的用法

    这个类也是NIO提供的一个获取文件属性的一个类

    他有若干个属性视图,不同的视图可以获得或者设置不同类型的属性。还可以设置自定义属性

    一般都是通过

    Files.getFileAttributeView来获取不同的视图
    public static void main(String[] args) {
            Path path= Paths.get("IOStudy/src/StreamStudy/AttributeViewTest.java");
            FileOwnerAttributeView fileOwnerAttributeView=Files.getFileAttributeView(path,FileOwnerAttributeView.class);
            BasicFileAttributeView basicView= Files.getFileAttributeView(path,BasicFileAttributeView.class);
            try {
                BasicFileAttributes basicFileAttributes=basicView.readAttributes();
               var time= basicFileAttributes.lastModifiedTime();
                System.out.println(time);
                System.out.println("创建时间是:"+new Date(basicFileAttributes.creationTime().toMillis()));
                System.out.println("最后访问时间是:"+new Date(basicFileAttributes.lastAccessTime().toMillis()));
                System.out.println("文件大小时:"+basicFileAttributes.size());
                System.out.println(fileOwnerAttributeView.getOwner());
                System.out.println(fileOwnerAttributeView.name());
                UserDefinedFileAttributeView userView=Files.getFileAttributeView(path,UserDefinedFileAttributeView.class);
               List<String> list= userView.list();
               for(var li:list){
                   ByteBuffer buffer=ByteBuffer.allocate(userView.size(li));
                   userView.read(li,buffer);
                   buffer.flip();
                   String value= Charset.defaultCharset().decode(buffer).toString();
                   System.out.println(li+"--------->"+value);
               }
               userView.write("出版人",Charset.defaultCharset().encode("疯狂java讲义"));
               userView.write("编著者",Charset.defaultCharset().encode("吴慧韬"));
               DosFileAttributeView dosView=Files.getFileAttributeView(path,DosFileAttributeView.class);
               DosFileAttributes dosFileAttributes=dosView.readAttributes();
                System.out.println("文件是否隐藏:"+dosFileAttributes.isHidden());
                System.out.println("文件是否只读:"+dosFileAttributes.isReadOnly());
               dosView.setHidden(true);
               dosView.setReadOnly(true);
    
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    

     如上图所示

  • 相关阅读:
    【剑指Offer】49把字符串转换成整数
    【剑指Offer】48不用加减乘除做加法
    【剑指Offer】47求1+2+3+...+n
    判断两个线段是否相交
    EM算法--原理
    理解KMP算法
    阿里校招笔试的一道逻辑题
    线性拟合之最小二乘方法和最小距离方法
    Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库
    正则表达式总结
  • 原文地址:https://www.cnblogs.com/tomato190/p/12669477.html
Copyright © 2011-2022 走看看