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

     如上图所示

  • 相关阅读:
    [Algo] 306. Check If Linked List Is Palindrome
    [Algo] 42. Partition Linked List
    [Algo] 20. Search In Unknown Sized Sorted Array
    [LC] 1167. Minimum Cost to Connect Sticks
    [LC] 212. Word Search II
    安装oracle developer 10g 时报错,提示must be 5.0, 5.1, 5.2 or 6.1 . Actual 6.2
    APP-INV-05577
    客户化的并发程序出现黄条警告,并无法输出内容
    EBS Concurrent Manager(并发管理器)异常处理[final]【转】
    oracle 通过透明网关gateway 连接sqlserver
  • 原文地址:https://www.cnblogs.com/tomato190/p/12669477.html
Copyright © 2011-2022 走看看