• File过滤器


    File过滤器

    1、listFiles(FileFilter filter) 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。

    作用:用来过滤文件(Filter对象)

    listFiles会做的事:

    a:如果里面不传FileFilter过滤器,就会返回抽象路径名数组

    b:如果里面传FileFilter过滤器,那么就返回通过过滤器的返回值为true的元素组成的数组。(即符合过滤器的规则。)

    /**
    * @program: intellij idea
    * @description:1、`listFiles(FileFilter filter)` 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。
    *2、`listFiles(FilenameFilter filter)` 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。
    * @author: lixy
    * @create: 2020-05-07 12:42
    **/
    public class FileFilterImpl implements FileFilter {

      @Override
      public boolean accept(File pathname) {
          return pathname.isFile() && pathname.getName().endsWith(".java");
      }
    }
    public class Demo02Main {
      public static void main(String[] args) {
          bl(new File("F:\intellij idea\day11\src\com\lixy"));
      }
      private static void bl(File dir) {
          File[] files = dir.listFiles(new FileFilterImpl());
          for (File file : files) {
                  System.out.println(file);
          }
      }
    }
    结果:
    F:intellij ideaday11srccomlixyFileMethod.java
    F:intellij ideaday11srccomlixyMyFile.java

    public class Demo03Main {
      public static void main(String[] args) {
          bl(new File("F:\intellij idea\day11\src\com\lixy"));
      }
      private static void bl(File dir) {
          File[] files = dir.listFiles(new FileFilter() {//匿名内部类,
              @Override
              public boolean accept(File pathname) {
                  return pathname.isFile() && pathname.getName().endsWith(".java");
              }
          });
          for (File file : files) {
                  System.out.println(file);
          }
      }
    }

    public class Demo04Main {
      public static void main(String[] args) {
          bl(new File("F:\intellij idea\day11\src\com\lixy"));
      }
      private static void bl(File dir) {
          //使用Lambda表达式
          File[] files = dir.listFiles((pathname)->{return pathname.isFile() && pathname.getName().endsWith(".java");});
          for (File file : files) {
                  System.out.println(file);
          }
      }
    }

    2、listFiles(FilenameFilter filter) 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。

    作用:用来过滤文件名称

    public boolean accept(File dir, String name) {//测试指定文件是否应包含在文件列表中。
      //参数
      //dir - 找到该文件的目录。
      //name - 文件的名称。
      return new File(dir,name).isFile() && new File(dir,name).getName().endsWith(".java");
    }
    public class Demo03Main {
      public static void main(String[] args) {
          bl(new File("F:\intellij idea\day11\src\com\lixy"));
      }
      private static void bl(File dir) {
          File[] files = dir.listFiles(new FilenameFilter() {
              @Override
              public boolean accept(File dir, String name) {
                  return new File(dir,name).isFile() && name.endsWith(".java");
              }
          });
          for (File file : files) {
                  System.out.println(file);
          }
      }
    }
  • 相关阅读:
    【操作系统】第九章 虚拟内存
    【计网】第七章
    信息安全数学基础整理笔记
    深入浅出数据分析 笔记总结
    ERROR: Error cloning remote repo 'origin'
    Docker 操作
    centos 安装 git
    CentOS 7 安装 JAVA环境(JDK 1.8)
    如何删除 容器里的软件(彻底)
    Docker 部署 Jenkins :通过SSH配置Linux宿主机为slave节点,运行外部环境
  • 原文地址:https://www.cnblogs.com/lxy522/p/12846653.html
Copyright © 2020-2023  润新知