zoukankan      html  css  js  c++  java
  • java课程课后作业05之动手动脑

    一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件

    此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一个遍历行为控制器——FileVisitor,里面定义了4个方法用来指定当你访问一个节点之前、之中、之后、失败时应该采取什么行动

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            File dir = new File("C:\Users\SuperMan\download");
            File[] files=dir.listFiles(); 
             for(int i=0;i<files.length;i++)  
                {
                 if(files[i].isFile())  
                     {
                     if(files[i].length()>83886080)
                         System.out.println(files[i]+"的大小:"+files[i].length());  
                     }
                }
        }

    四个方法分别是:

    FileVisitResult preVisitDirectory(T dir, BasicFileAttributes attrs) // 访问一个目录前要干啥
            throws IOException;
        
        FileVisitResult postVisitDirectory(T dir, IOException exc) // 访问一个目录后要干啥
                throws IOException;
     
        FileVisitResult visitFile(T file, BasicFileAttributes attrs) // 正在访问一个文件时要干啥
            throws IOException;
        
        FileVisitResult visitFileFailed(T file, IOException exc) // 访问一个文件失败时要干啥
            throws IOException;

    二.使用Files. walkFileTree()找出指定文件夹下所有扩展名为.txt和.java的文件

    方法:利用toString方法将文件名转换成String类型,然后再利用indexOf方法比较是否包含".java"或者".txt"文件。

              public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
    //              if(attrs.size()>83886080)
    //                  System.out.format("%s [File,  Size: %s  bytes]%n", file, attrs.size());
                  if(file.toString().indexOf(".java")!=-1)
                      System.out.format("%s [File,  Size: %s  bytes]%n", file, attrs.size());
    
                      
                return CONTINUE;
              }

    三.使用Files. walkFileTree()找出指定文件夹下所有包容指定字符串的txt文件

    思路:按照第二个的方法,先找出txt文件,然后再搜寻是否具有指定的字符串

  • 相关阅读:
    相机用的 SD Card 锁Lock 烂掉了,无法正常写入
    Cannon 60D 电池卡在电池槽了,拔不出来怎么办?
    免费好用的 Apple 工具(Windows 适用)
    𠝹 (界刂) 呢個字點打?
    学校或公司转ISP -boardband (上网公司)注意事项记录
    iis站点添加.asmx的映射
    跨页面传参
    setTimeout和setInterval
    鼠标获取屏幕上的固定点位置坐标
    把完整字符串分割为字符串数组
  • 原文地址:https://www.cnblogs.com/heiyang/p/9982778.html
Copyright © 2011-2022 走看看