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

 更新时间:2019年11月08日 08:31:09   作者:MinosX  
这篇文章主要介绍了使用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"));

总结

以上所述是小编给大家介绍的使用java文件过滤器输出制定格式文件路径的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Springboot实现多数据源切换详情

    Springboot实现多数据源切换详情

    这篇文章主要介绍了Springboot实现多数据源切换详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的朋友可以参考一下
    2022-09-09
  • 详解SpringBoot下文件上传与下载的实现

    详解SpringBoot下文件上传与下载的实现

    这篇文章主要介绍了SpringBoot下文件上传与下载的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 深入Java Final

    深入Java Final

    本篇文章,小编将为大家介绍Java Final,有需要的朋友可以参考一下
    2013-04-04
  • Java制作证书的工具keytool用法详解

    Java制作证书的工具keytool用法详解

    本文主要介绍了Java制作证书的工具keytool用法详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 一文深入分析java.lang.ClassNotFoundException异常

    一文深入分析java.lang.ClassNotFoundException异常

    这篇文章主要给大家介绍了关于java.lang.ClassNotFoundException异常的相关资料,java.lang.ClassNotFoundException是Java编程时经常会遇到的一个异常,它表示JVM在尝试加载某个类时未能找到该类,需要的朋友可以参考下
    2023-10-10
  • Java多线程(单例模式,堵塞队列,定时器)详解

    Java多线程(单例模式,堵塞队列,定时器)详解

    这篇文章主要介绍了java多线程的(单例模式,堵塞队列,定时器),具有一定参考价值,加深多线程编程的理解还是很有帮助的,需要的朋友可以参考下
    2021-08-08
  • Java设计模式之备忘录模式详解

    Java设计模式之备忘录模式详解

    这篇文章主要介绍了Java设计模式之备忘录模式详解,备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态,需要的朋友可以参考下
    2023-12-12
  • springboot如何实现国际化配置

    springboot如何实现国际化配置

    这篇文章主要介绍了springboot如何实现国际化配置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 关于SpringBoot中的请求映射及使用

    关于SpringBoot中的请求映射及使用

    这篇文章主要介绍了关于SpringBoot中的请求映射及使用,Spring Boot 中的授权机制,包括基于角色的授权和基于资源的授权,同时,我们也将给出相应的代码示例,帮助读者更好地理解和应用这些授权机制,需要的朋友可以参考下
    2023-07-07
  • SpringBoot中实现订单30分钟自动取消的三种方案分享

    SpringBoot中实现订单30分钟自动取消的三种方案分享

    在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单,本文将详细介绍基于Spring Boot框架实现订单30分钟内未支付自动取消的几种方案,并提供实例代码,需要的朋友可以参考下
    2023-10-10

最新评论