/** 过滤器:
 *  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. cookie中文转码

    //cookie中文转码 var GB2312UnicodeConverter = { //转码 ToUnicode: function(str) { //中文转unicode return esca ...

  2. luoguP1273 有线电视网 [树形dp]

    题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. 从转播站到转播站以及从 ...

  3. 线段树区间离散化维护按秩合并并查集(可撤销)——牛客多校第八场E

    模板题..去网上学了可撤销的并查集.. /* 给定一个无向图,边的属性为(u,v,l,r),表示<u,v>可以通过的size为[l,r] 求出有多少不同的size可以从1->n 把每 ...

  4. NX二次开发-将信息窗口中的文本保存到文本文件中UF_UI_save_listing_window

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //打开信息窗口 UF_UI_open_listing_window() ...

  5. LeetCode刷题笔记-回溯法-组合总和问题

    题目描述: <组合总和问题>给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. cand ...

  6. centos安装完php-fpm、nginx后访问网站出现权限问题

    nginx.conf www.conf 这两个文件上面改用户为www. 如果不知道自己的配置文件位置问题,使用命令查找文件位置: find / -name 'nginx.conf' -print 添加 ...

  7. SpringBoot-集成PageHelper5.1.2踩坑

    背景就不介绍了,项目是SpringBoot+MyBatis搭建的,需要集成git上的PageHelper5.1.2,这个插件大家都比较熟悉了 之前一直用的PageHelper4.0.3,集成是这样的: ...

  8. 使用Pyppeteer进行gmail模拟登录

    import asyncio import time from pyppeteer import launch async def gmailLogin(username, password, url ...

  9. 《Java语言程序设计》编程练习6.18(检测密码)

    6.18 (检测密码)一些网站对于密码具有一些规则.编写一个方法,检测字符串是否是一个有效密码.     假定密码规则如下:     • 密码必须至少8位字符.     • 密码仅能包含字母和数字. ...

  10. 16-Ubuntu-文件和目录命令-切换目录-cd

    cd(change directory),其功能为更改当前的工作目录. 注意:Linux所有的目录和文件名都是大小写敏感的. 命令 含义 cd     切换到当前用户的主目录(/home/用户目录) ...