/** 过滤器:
 *  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. NOIp2018集训test-9-1(am)

    1.最大值 可以用FWT水过去,李巨写了FWT结果中途爆int了炸了几十分好像. 我乱搞了一下把除了大数据有or的搞出来然后90,还是蛮划算的.我yy的做法: 1.xor 字典树上贪心, 一开始我打了 ...

  2. NX二次开发-测量投影距离

    NXOPEN方法,直接录制测量投影距离命令 NX9+VS2012 #include <NXOpen/Annotations.hxx> #include <NXOpen/Assembl ...

  3. IDEA web 开发环境搭建

    最近由eclipse 换 IDEA ,记录下开发环境的搭建过程. 1 配置idea vim 既可以使用IDEA方便的代码提示和调试功能,又可以方便使用vim编辑文件,安装完成后显示为vim Emula ...

  4. CTF里的LSB

  5. 蒟蒻kc的垃圾数列

    题目背景 在某教练的强迫之下,我一个蒟蒻居然出题了!!!出题了!!!(数据太水别找我qwq) 好的,JL说好的一题100快拿来 题目描述 首先,给你一个空的长度为n的序列(废话) 然后,你有一系列神奇 ...

  6. 2018湘潭大学程序设计竞赛【H】

    题目链接:https://www.nowcoder.com/acm/contest/105/H 题意:两个操作,一个在[l,r]区间放颜色为c的球,一个统计在[l,r]里有多少不同颜色的球. 题解:哎 ...

  7. JS事件 鼠标移开事件(onmouseout)鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。

    鼠标移开事件(onmouseout) 鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序. 当把鼠标移动到"登录"按钮上,然后再移开时,触发onmouseout ...

  8. WIN10安装CUDA10 cuDNN

    文章目录 CPU和GPU 什么是CUDA 什么是cuDNN WIN10安装CUDA10 WIN10安装cuDNN CPU和GPU CPU和GPU是不一样的计算机设备,CPU作为计算机心脏一直被人们所认 ...

  9. 【笔记篇】单调队列优化dp学习笔记&&luogu2569_bzoj1855股票交♂易

    DP颂 DP之神 圣洁美丽 算法光芒照大地 我们怀着 崇高敬意 跪倒在DP神殿里 你的复杂 能让蒟蒻 试图入门却放弃 在你光辉 照耀下面 AC真心不容易 dp大概是最经久不衰 亘古不化的算法了吧. 而 ...

  10. LoadRunner关联通用函数的学习

    LoadRunner关联通用函数的学习 写这篇文章的时候,我先声明一下,本BLOG中的文章如果没有写出是转贴的一般就是本人原创. Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符 ...