zoukankan      html  css  js  c++  java
  • 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);
          }
      }
    }
  • 相关阅读:
    《数据结构
    《数据结构
    《数据结构
    《算法
    《linux 进程管理》- ps/top/kill/killall/nice
    《linux 字符处理》- grep/sort/uniq/tr/paste/sed/awk
    《linux 文件目录》- touch/rm/mv/cat/head/tail/cp/mkdir/chmod/chown/find/locate/which/whereis/tar
    MySQL优化必须调整的10项配置
    PV-UV
    linux+nginx+mysql+php高性能服务器搭建
  • 原文地址:https://www.cnblogs.com/lxy522/p/12846653.html
Copyright © 2011-2022 走看看