当前位置:主页 > 软件编程 > JAVA代码 >

使用java文件过滤器输出制定格式文件路径的实例代码

时间:2020-12-07 16:26:47 | 栏目:JAVA代码 | 点击:

使用java文件过滤器输出制定格式文件路径的实例代码如下所示:

一、使用输出路径判断过滤

import java.io.File;
public class demo_file04 {
  public static void main(String[] args) {
    fileall(new File("D:\\coding"));
  }
  private static void fileall(File f1) {
//    System.out.println(f1);
    //判断文件是否是目录
    if (f1.isDirectory()) {
//      获取文件列表继续遍历
      File[] files = f1.listFiles();
      for (File file : files) {
//        递归遍历文件
        fileall(file);
      }
    } else {
//      输出文件目录
      if(f1.toString().toLowerCase().endsWith(".jar")){System.out.println(f1);}      
    }
  }
}

二、使用文件过滤器匿名对象类

import java.io.File;
import java.io.FileFilter;
public class demo_file05 {
  public static void main(String[] args) {
    fileall(new File("D:\\coding"));
  }
  private static void fileall(File f1) {
//    System.out.println(f1);
    //判断文件是否是目录
    if (f1.isDirectory()) {
//      获取文件列表继续遍历
      File[] files = f1.listFiles(new FileFilter() {
        @Override
        public boolean accept(File file) {
          if(file.isDirectory()){
            return true;
          }
          return file.getName().toLowerCase().endsWith("java");
        }
      });
      for (File file : files) {
//        递归遍历文件
        fileall(file);
      }
    } else {
//      输出文件目录
      System.out.println(f1);
    }
  }
}

三、使用lambda表达式使用过滤器

import java.io.File;
import java.io.FileFilter;
public class demo_file06 {
  public static void main(String[] args) {
    fileall(new File("D:\\coding"));
  }
  private static void fileall(File f1) {
//    System.out.println(f1);
    //判断文件是否是目录
    if (f1.isDirectory()) {
//      获取文件列表继续遍历
      File[] files = f1.listFiles((File file)->{
        if(file.isDirectory()){
          return true;
        }
        return file.getName().toLowerCase().endsWith("java");
      });
      for (File file : files) {
//        递归遍历文件
        fileall(file);
      }
    } else {
//      输出文件目录
      System.out.println(f1);
    }
  }
}
File[] files = f1.listFiles((File file)->{
        if(file.isDirectory()){
          return true;
        }
        return file.getName().toLowerCase().endsWith("java");
      });
//等价
File[] files = f1.listFiles(file->file.isDirectory() || file.getName().toLowerCase().endsWith("java"));

总结

您可能感兴趣的文章:

相关文章