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

     如上图所示

  • 相关阅读:
    HDU 3681 Prison Break(状态压缩dp + BFS)
    POJ 2711 Regular Words(DP + 高精度)
    ZOJ 2745 01-K Code(DP)(转)
    DAG模型——硬币问题
    HDU 1619 Unidirectional TSP(单向TSP + 路径打印)
    DAG模型——嵌套矩阵
    HDU 4294 A Famous Equation(DP)
    HDU 3920 Clear All of Them I(DP + 状态压缩 + 贪心)
    POJ 3254 Corn Fields(DP + 状态压缩)
    HDU 2089 不要62(数位DP)
  • 原文地址:https://www.cnblogs.com/tomato190/p/12669477.html
Copyright © 2011-2022 走看看