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();
            }
    
        }
    

     如上图所示

  • 相关阅读:
    【51nod】2590 持续讨伐
    【51nod】2589 快速讨伐
    【51nod】2606 Secondary Substring
    【LOJ】#3098. 「SNOI2019」纸牌
    【洛谷】P4202 [NOI2008]奥运物流
    【LOJ】#3103. 「JSOI2019」节日庆典
    【LOJ】#3102. 「JSOI2019」神经网络
    【洛谷】P5348 密码解锁
    【洛谷】P4883 mzf的考验
    【LOJ】#3101. 「JSOI2019」精准预测
  • 原文地址:https://www.cnblogs.com/tomato190/p/12669477.html
Copyright © 2011-2022 走看看