⚔ 疯狂输出 ⚔ 自定义过滤器
//回调 中 接口存在的目的
//可以优先确定好回调的位置(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[]{});
}
}
⚔ 疯狂输出 ⚔ 自定义过滤器相关推荐
- 在Module中使用自定义过滤器,来统一对站内所有请求响应的输出内容进行采集或更改。...
因项目需要,对每一个访问网站的请求要做原始数据记录,其中要包括几个要素: 1.客户端的IP 2.客户端请求的页面路径 3.客户端发出的请求头 4.服务器返回的正文内容. 在代码设计前分析了一下,前三个 ...
- 过滤器获取service方法返回慢_Gateway:自定义过滤器
自定义局部过滤器 需求:在application.yml中对某个路由配置过滤器,该过滤器可以在控制台输出配置文件中指定名称的请求参数的值. 在gateway-server模块中编写过滤器工厂类MyPa ...
- Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)
阅读目录 一.模板语法: 二.过滤器:(Filters) 三.模板的继承与模板的导入 摘要: 模版层(模板语法) 模板语法 过滤器 标签 自定义过滤器.标签 inclusion_tag 模板的继承 模 ...
- .net中自定义过滤器对Response内容进行处理
原文:http://www.cnblogs.com/zgqys1980/archive/2008/09/02/1281895.html 代码DEMO:http://files.cnblogs.com/ ...
- asp.net MVC之 自定义过滤器(Filter)
一.系统过滤器使用说明 1.OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数.它有以下属性: Duration:缓存的时间,以秒为 ...
- MVC之 自定义过滤器(ActionFilterAttribute)
一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名. //表示所有操作 ...
- 20190325 Django自定义过滤器和自定义模板标签
代码布局(死去活来) 自定义要先解决几个问题: 1). 在哪里定义,要将代码写在哪里? app目录下的名为templatetags的文件夹,必须叫这个名字.这个文件夹必须是一个python的包(pyt ...
- 【django】过滤器和自定义过滤器
一.过滤器语法 语法如下: 使⽤管道符号 | 来应⽤过滤器,⽤于进⾏计算.转换操作,可以使⽤在变量.标签中. 如果过滤器需要参数,则使⽤冒号:传递参数. 变量 | 过滤器:参数 列举⼏个如下: saf ...
- 【AngularJS】—— 9 自定义过滤器
AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果. 通过使用管道,可以便于双向的数据绑定中视图的展现. 过滤器在处理过程中,将数据变成新的格式,而且可以使用 ...
最新文章
- C++实现图像的绘制并实现鼠标交互
- 面试被问到“零拷贝”!你真的理解吗?
- MySQL怎么打开explain_MySQL干货之-利用EXPLAIN优化查询
- anaconda mac安装
- Spring Cloud 微服务架构全链路实践
- 前端开发自学之JavaScript——显示当前时间
- 一个Web开发的客户端基础技术测试Demo
- 今天聊聊Oracle Database 21c 十“小”新特性
- sketch 将动图转换为json_UI设计师如何创建sketch设计样式、库和UI套件
- c 不安装oracle,安装oracle 10g 的艰难之旅
- 河北省科技创新平台用例图
- c#IntPtr简例
- html广告代码自适应,很实用的对联广告代码(自适应高度)
- 数字证书理解(CA证书签名原理)
- 不一样的课程表,不一样的Excle--用Excle进行设计(12):网状结构
- pg数据库自动备份记录
- 纯干货!最全股票基础知识(上)
- EM期望最大化算法实现二项混合分布与高斯混合分布
- 中创生日会 | 烟火向星辰,所愿皆成真
- 关于BMP格式图片在终端显示的具体做法(超详细)
热门文章
- Jquery换肤效果
- 80端口封了怎么办,80端口被屏蔽解决方法
- C#/Unity计算局域网广播地址方式
- 《番茄工作法图解》读后感 ps:app推荐
- 眼镜识别,看是否戴眼镜_夜间隐形眼镜,适合那些不戴眼镜但又害怕这种矫正的人
- [生存志] 第137节 刘向父子五纪三统
- 四川单招计算机专业分数线,四川单招学校有哪些 单招分数线是多少
- 微信扫码登陆PC端(Vue)(小程序)
- 朴素贝叶斯分类器原理介绍及python代码实现
- 银行手机APP软件做性能测试吗,20家农村商业银行个人手机APP评测:CPU占用率差距最大可达32倍 流量消耗成重灾区...