//回调 中 接口存在的目的
//可以优先确定好回调的位置(ApFile中)
//可以确定好回调的参数(AaFile file )及回调方法的功能(方法返回值)
//将回调方法具体的功能实现权移交给普通(二次)开发者

public interface ApFileFileter{
public interface ApFileFilter(MyFile file);

}
//自定义过滤器的思路
//MyFile 模拟的是 File
//listFiles(ApFileFilter f) <= listFiles (FileFilter f )(重载)
//ApFileFilter <= FileFilter(自定义)

//自定义过滤器的步骤
//1.继承系统File类, 通过super(…)构造与File等价的文件0操作对象
//2.通过ApFile生成的对象可以直接等价操作File类所有方法
//3.在2的基础上,重写listFiles()方法 , 完成自定义过滤器的实现
//4.仿照系统的FileFilter完成自定义的过滤器接口及接口的过滤功能

//继承系统的File类  ,通过super(...)构造与FIle等价的文件0操作对象
public class  MyFile extends File{private  static final long  serialVersionUID = 1L;
注:  子类构造器魔腾都会调用父级空参构造器(super())
//父类没有定义空参控制器是, 子级应该明确代用父级的某一个带参构造器public MyFile(string pathame){
super(pathname);
}
//定义构造器, 将File 转换成ApFile
private  MyFile(File file){
super(file.getAbsolutePath(),file.getPath());
}
// 仿照系统的FileFilter , 利用重载完成自定义的过滤器接口及接口的过滤功能
public MyFile [] listFiles (ApFileFilter filter){
//先利用已有的方法 (继承父级的方法)拿到目标文件夹下所有文件(夹)
File [] lfs = listFiles();
//集合 => 存储有用数据  => 转换对应数组  => 返回值方法值
Arraylist<MyFile>arrayList  = new  ArrayList<MyFile>();
//遍历所有文件 , 方便内部对遍历到的文件进行逐一操作处理
for(File f:lfs){
//自定义接口方法   处理 所诉类为 自定义ApFile类 需将File
//转换成ApFile
MyFile af  =new MyFile(f);
//过滤器功能具有判断满足与否, 所有将满足条件的结果存储起来
//此时不用考虑何为满足(accept 方法的实现)
//注:该处形成方法的回调 , 回调方法为accept , 并且将--遍历
//到的ApFile对象做为回调参数 , 方便回调方法的实现体根据
//ApFile对象制定满足与否的规则
if(filter.accept(af)){
arrayList.add(af);
}
}
return arrayList.toArray(new MyFile[]{});
}
}

⚔ 疯狂输出 ⚔ 自定义过滤器相关推荐

  1. 在Module中使用自定义过滤器,来统一对站内所有请求响应的输出内容进行采集或更改。...

    因项目需要,对每一个访问网站的请求要做原始数据记录,其中要包括几个要素: 1.客户端的IP 2.客户端请求的页面路径 3.客户端发出的请求头 4.服务器返回的正文内容. 在代码设计前分析了一下,前三个 ...

  2. 过滤器获取service方法返回慢_Gateway:自定义过滤器

    自定义局部过滤器 需求:在application.yml中对某个路由配置过滤器,该过滤器可以在控制台输出配置文件中指定名称的请求参数的值. 在gateway-server模块中编写过滤器工厂类MyPa ...

  3. Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)

    阅读目录 一.模板语法: 二.过滤器:(Filters) 三.模板的继承与模板的导入 摘要: 模版层(模板语法) 模板语法 过滤器 标签 自定义过滤器.标签 inclusion_tag 模板的继承 模 ...

  4. .net中自定义过滤器对Response内容进行处理

    原文:http://www.cnblogs.com/zgqys1980/archive/2008/09/02/1281895.html 代码DEMO:http://files.cnblogs.com/ ...

  5. asp.net MVC之 自定义过滤器(Filter)

    一.系统过滤器使用说明 1.OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数.它有以下属性: Duration:缓存的时间,以秒为 ...

  6. MVC之 自定义过滤器(ActionFilterAttribute)

    一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名. //表示所有操作 ...

  7. 20190325 Django自定义过滤器和自定义模板标签

    代码布局(死去活来) 自定义要先解决几个问题: 1). 在哪里定义,要将代码写在哪里? app目录下的名为templatetags的文件夹,必须叫这个名字.这个文件夹必须是一个python的包(pyt ...

  8. 【django】过滤器和自定义过滤器

    一.过滤器语法 语法如下: 使⽤管道符号 | 来应⽤过滤器,⽤于进⾏计算.转换操作,可以使⽤在变量.标签中. 如果过滤器需要参数,则使⽤冒号:传递参数. 变量 | 过滤器:参数 列举⼏个如下: saf ...

  9. 【AngularJS】—— 9 自定义过滤器

    AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果. 通过使用管道,可以便于双向的数据绑定中视图的展现. 过滤器在处理过程中,将数据变成新的格式,而且可以使用 ...

最新文章

  1. C++实现图像的绘制并实现鼠标交互
  2. 面试被问到“零拷贝”!你真的理解吗?
  3. MySQL怎么打开explain_MySQL干货之-利用EXPLAIN优化查询
  4. anaconda mac安装
  5. Spring Cloud 微服务架构全链路实践
  6. 前端开发自学之JavaScript——显示当前时间
  7. 一个Web开发的客户端基础技术测试Demo
  8. 今天聊聊Oracle Database 21c 十“小”新特性
  9. sketch 将动图转换为json_UI设计师如何创建sketch设计样式、库和UI套件
  10. c 不安装oracle,安装oracle 10g 的艰难之旅
  11. 河北省科技创新平台用例图
  12. c#IntPtr简例
  13. html广告代码自适应,很实用的对联广告代码(自适应高度)
  14. 数字证书理解(CA证书签名原理)
  15. 不一样的课程表,不一样的Excle--用Excle进行设计(12):网状结构
  16. pg数据库自动备份记录
  17. 纯干货!最全股票基础知识(上)
  18. EM期望最大化算法实现二项混合分布与高斯混合分布
  19. 中创生日会 | 烟火向星辰,所愿皆成真
  20. 关于BMP格式图片在终端显示的具体做法(超详细)

热门文章

  1. Jquery换肤效果
  2. 80端口封了怎么办,80端口被屏蔽解决方法
  3. C#/Unity计算局域网广播地址方式
  4. 《番茄工作法图解》读后感 ps:app推荐
  5. 眼镜识别,看是否戴眼镜_夜间隐形眼镜,适合那些不戴眼镜但又害怕这种矫正的人
  6. [生存志] 第137节 刘向父子五纪三统
  7. 四川单招计算机专业分数线,四川单招学校有哪些 单招分数线是多少
  8. 微信扫码登陆PC端(Vue)(小程序)
  9. 朴素贝叶斯分类器原理介绍及python代码实现
  10. 银行手机APP软件做性能测试吗,20家农村商业银行个人手机APP评测:CPU占用率差距最大可达32倍 流量消耗成重灾区...