/** 过滤器:
 *  File类中有两个和listFiles方法重载的方法,方法的参数就是过滤器
 *  listFiles(FileFilter filter)
 *  java.io.FileFilter接口
 *  作用:用来过滤文件(File对象)
 *  抽象方法:用来皈依了文件的方法
 *      boolean accept(File pathname)测试指定抽象路径名是否应该包含在某路径名列表中
 *      参数File pathname:使用listFile方法遍历目录得到的每一个文件对象
 *  listFile(FilenameFilter filter):
 *
 *  java.io.FilenameFilter接口:
 *  作用:用于过滤文件名称
 *  accept(File dir,Setring name)测试指定文件是否应该包含在某一文件列表中
 *  参数:
 *      File dir:构造方法中传递的被遍历目录
 *      Setring name:使用ListFiles方法遍历目录,获取的每一个文件/文件夹的名称
 *  注意:
 *      两个过滤器接口没有实现类,需要自己写实现类,重写过滤方法accept,在方法中自己定义过滤规则
 */
 public static void main(String[] args) {
     //使用过滤器找出指定文件夹下的.java文件
     File f1 = new File("F:\\FileTest");
     String nameLower = ".java";
     getAllFile(f1,nameLower);
 }
 //定义查找指定后缀文件的方法
     public static void getAllFile(File dir,String name){
         File[] file = dir.listFiles(new FilenameFilterimp());
         for (File f : file) {
             if(f.isFile()) {

                 System.out.println(f);
             }else if(f.isDirectory()){
                 getAllFile(f,name);
             }
         }
     }
 }

 class FilenameFilterimp implements FileFilter {

     @Override
     public boolean accept(File pathname) {
         if (pathname.isDirectory()) {
             return true;
         }return pathname.getName().toLowerCase().endsWith(".java");
     }
 }
 public static void main(String[] args) {
     //使用过滤器找出指定文件夹下的.java文件
     File f1 = new File("F:\\FileTest");
     String nameLower = ".java";
     getAllFile(f1,nameLower);
 }
     //定义查找指定后缀文件的方法
     public static void getAllFile(File dir,String name){
         File[] file = dir.listFiles(new FileFilter() {
             @Override
             public boolean accept(File pathname){ if (pathname.isDirectory()) { return true; }return pathname.getName().toLowerCase().endsWith("java"); }});
         for (File f : file) {
             if(f.isFile()) {

                 System.out.println(f);
             }else if(f.isDirectory()){
                 getAllFile(f,name);
             }
         }
     }
 }

java_过滤器的更多相关文章

  1. Java_框架面试题

    Java_框架面试题 欢迎来我Git上分享您的优秀建议 1.Spring框架分为哪七大模块,各模块的主要功能作用是什么? 七大模块,如下: 1. Spring Core: Core封装包是框架的最基础 ...

  2. ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器

    原文:Filters 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:何镇汐 ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码.过滤器可以配置为全局有效.仅对控 ...

  3. ASP.NET Web API 过滤器创建、执行过程(二)

    ASP.NET Web API 过滤器创建.执行过程(二) 前言 前面一篇中讲解了过滤器执行之前的创建,通过实现IFilterProvider注册到当前的HttpConfiguration里的服务容器 ...

  4. ASP.NET Web API 过滤器创建、执行过程(一)

    ASP.NET Web API 过滤器创建.执行过程(一) 前言 在上一篇中我们讲到控制器的执行过程系列,这个系列要搁置一段时间了,因为在控制器执行的过程中包含的信息都是要单独的用一个系列来描述的,就 ...

  5. ABP(现代ASP.NET样板开发框架)系列之13、ABP领域层——数据过滤器(Data filters)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之13.ABP领域层——数据过滤器(Data filters) ABP是“ASP.NET Boilerplate P ...

  6. AngularJS过滤器filter-时间日期格式-渲染日期格式-$filter

    今天遇到了这些问题索性就 写篇文章吧 话不多说直接上栗子 不管任何是HTML格式还是JS格式必须要在  controller 里面写 // new Date() 获取当前时间 yyyy-MM-ddd ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】

    系列目录 上次的探讨没有任何结果,我浏览了大量的文章和个别系统的参考!决定用Cache来做,这可能有点难以接受但是配合mvc过滤器来做效果非常好! 由于之前的过滤器我们用过了OnActionExecu ...

  8. Hawk 4.2 过滤器

    过滤器可以在流中,过滤掉不符合条件的文档.当然也可勾选反向,此时只会留下不符合条件的文档. 空对象过滤器 最为常用,需要列名,可以过滤掉所有内容为Null,或字符串全部都是空字符的情况 数值范围过滤 ...

  9. 实现MVC自定义过滤器,自定义Area过滤器,自定义Controller,Action甚至是ViewData过滤器

    MVC开发中几种以AOP方式实现的Filters是非常好用的,默认情况下,我们通过App_Start中的FilterConfig来实现的过滤器注册是全局的,也就是整个应用程序都会使用的,针对单独的Fi ...

随机推荐

  1. django入门 -- 简单流程

    django入门 -- 简单流程 简介 通过简单示例,使用django完成基本流程的开发,学习django的主要的知识点,在后续课程中会逐个知识点进行深入讲解 以“图书-英雄”管理为示例 主要知识点介 ...

  2. Framework7-Vue搭建项目

    在Framework7的gitHub上有一套与Vue结合的模板,直接下载下来使用即可 https://github.com/framework7io/framework7-template-vue-w ...

  3. Kafka命令行操作

    Kafka命令行操作 1)查看当前服务器中的所有topic [bingo@hadoop101 kafka]$ bin/kafka-topics.sh --list --zookeeper hadoop ...

  4. NX二次开发-UFUN工程图表格注释设置单元格首选项UF_TABNOT_set_cell_prefs

    NX9+VS2012 #include <uf.h> #include <uf_tabnot.h> #include <NXOpen/Part.hxx> #incl ...

  5. 如何将Canvas中内容保存为图片

    Bitmap bm = Bitmap.createBitmap(320, 480, Config.ARGB_8888); Canvas canvas = new Canvas(bm); Paint p ...

  6. Java-Class-I:java.util.List

    ylbtech-Java-Class-I:java.util.List 1.返回顶部 1.1.import java.util.ArrayList;import java.util.List; 1.2 ...

  7. 27. USART, Universal synchronous asynchronous receiver transmitter

    27.1 USART introduction 通用同步异步接收发射机(USART)对需要NRZ异步串行数据格式行业标准的外部设备,提供了一个灵活的全双工数据交换的方法.USART使用分数波特率生成器 ...

  8. weblogic上传木马路径选择

    对于反序列化漏洞,如果获得的是系统权限或者root权限,那就没必要上传木马,但如果只是web安装应用的权限,就上传获取更大权限. 上传需要找到几个点,获取物理路径,如下面三种: 方法1:把shell写 ...

  9. JAVA API about HTTP 2

    import java.io.IOException; import java.nio.charset.Charset; import java.security.KeyManagementExcep ...

  10. java oop第07章_集合框架

    一. 什么是集合: 在Java中提供了一些可以保存同一数据类型的数据集称为集合,就是规定了一些集合的规范(接口.抽象类.实现类)及方法, 方便我们程序在保存数据时进行增.删.改.查操作,编程更加高效. ...