zoukankan      html  css  js  c++  java
  • java使用递归遍历文件,使用内部类过滤文件,使用匿名内部类过滤文件

    public class TestFile {
      public static void main(String [] args) {
      //遍历文件夹中文件名称,若文件夹中还存有文件夹,递归读取文件夹名称
        File file = new File("D:\\javafile"); //假设文件保存在D:\\javafile中
        new TestFile().show(file);
      }

      public void show(File file) {
        File[] files = file.listFiles();
        for(File fs : files) {
          System.out.println(fs.getName());
          if(fs.isDirectory()) {
            show(fs);
          }
        }
      }
    }

    //使用内部类过滤文件

    public class TestFile{
      public static void main(String [] args) {
        File file = new File("D:\\javafile");
        new TestFile().show(file);
      }

      public void show(File file) {
        File [] files = file.listFiles();

        for(File fs : files) {
          if(new MyFilenameFilter().accept(fs, fs.getName())) {
            System.out.println(fs.getName());
          }
        }
      }

      //在TestFile类的内部,定义MyFilenameFilter类,实现FilenameFilter过滤器的方法
      class MyFilenameFilter implements FilenameFilter{
        public boolean accept(File file, String name) {
        

        //假设在D:\\javafile文件夹内部保存有.txt格式的文件

        if(name.endsWith(".txt")) {
            return true;
          }
          return false;
        }
      }
    }

    //使用匿名内部类过滤文件

    public class TestFile{
      public static void main(String [] args) {
        File file = new File("D:\\javafile");
        new TestFile().show(file);
      }

      public void show(File file) {

         //红色部门极为匿名内部类部分
        File [] files = file.listFiles(new FilenameFilter(){
          @Override
          public boolean accept(File file, String name) {
            if(name.endsWith(".txt")) {
              return true;
            }
            return false;
          }
        });

        for(File fs : files) {
          System.out.println(fs.getName());
        }
      }
    }

  • 相关阅读:
    java 使用相对路径读取文件
    appium 使用过程问题踩坑-笔记
    CentOS下启动Tomcat
    jodis遇到的问题
    CentOS 7.0 防火墙
    sentinel
    keepalived
    在Tomat7上使用Redis保存Session
    Log4j 使用
    java路径问题
  • 原文地址:https://www.cnblogs.com/helloworldlx/p/8503413.html
Copyright © 2011-2022 走看看