34 java 文件过滤 FileFilter
package com.da.tool.util; import org.apache.commons.io.filefilter.RegexFileFilter; import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter; /**
* java 的 FileFilter和FilenameFilter测试使用
*/
public class FileFilterExample { /**
* 通过文件后缀过滤文件(仅查询后缀)
* 功能可扩展点
* 1、可针对文件、目录进行按照类型进行查找,实现特有的逻辑
* 2、可根据此功能抽象一个借口,采用不同实现,进行不同场景的文件过滤
* 3、对于复杂场景的文件过滤
* 4、nameSuffix可定义为多个
*/
static class FileFilterByNameSuffix implements FileFilter{ private String nameSuffix; public FileFilterByNameSuffix(String nameSuffix) {
this.nameSuffix = nameSuffix;
} @Override
public boolean accept(File file) { Boolean accept = false; if(file.getName().endsWith(nameSuffix)){
accept = true;
}
return accept;
}
} /**
* 通过文件后缀过滤文件
*/
static class FileNameFilterByNameSuffix implements FilenameFilter{
private String nameSuffix; public FileNameFilterByNameSuffix(String nameSuffix) {
this.nameSuffix = nameSuffix;
} @Override
public boolean accept(File dir, String name) {
return name.endsWith(nameSuffix);
}
} public static void main(String[] args) { String path ="D:\\project\\da-tool\\src\\main\\java\\com\\da\\tool\\util"; File file = new File(path);
//1、实现FileFilter
File [] files =file.listFiles(new FileFilterByNameSuffix(".java"));
for (File file1 : files) {
System.out.println(file1.getPath());
}
//2、实现FilenameFilter
files =file.listFiles(new FileNameFilterByNameSuffix(".java"));
for (File file1 : files) {
System.out.println(file1.getPath());
}
//3、java提供正则过滤
files =file.listFiles((FileFilter) new RegexFileFilter(".*.java"));
for (File file1 : files) {
System.out.println(file1.getPath());
}
//其他:PatternFilenameFilter JarFilter }
}
34 java 文件过滤 FileFilter的更多相关文章
- java 文件过滤
public class TestFileio { public static void main(String[] args) { File file = new File("D:/upl ...
- java中过滤查询文件
需求,过滤出C盘demo目录下 所有以.java的文件不区分大小写 通过实现FileFilter接口 定义过滤规则,然后将这个实现类对象传给ListFiles方法作为参数即可. 使用递归方法实现 pa ...
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- Java文件操作源码大全
Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...
- java文件基本操作
public static void main(String [] args) { try { /* * File类 */ /*String directory = "D:/Workspac ...
- Java 文件操作-File
1.File文件操作 java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等),不能对文件的 ...
- Java文件实时监控Commons-io
今天看到一网友写的 Java 文件监控,实时监控文件加载 ,突然想到Commons-io中已有此功能的实现,先温习下 写个简单的Demo: 有三种方式: 1.java common.io 内部实 ...
- java文件过滤器
java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法 public class DirFi ...
随机推荐
- Truffle 快速构建 DApp
简单介绍 官网传送门 Truffle是针对基于以太坊的Solidity语言的一套开发框架.本身基于Javascript,使用以太坊虚拟机(EVM)的世界一流的开发环境,用于区块链的测试框架和资产管道 ...
- 台电X16pro刷机记录
Android: 如果要刷安卓,需要使用win7系统电脑,且需要安装java环境,同时按住 音量减+电源键进入刷机模式(DNX BOOT MODE..),这时在PhoneFlashTool_5.3.2 ...
- P3368 (模板)树状数组2
借这个题学新姿势,这个题需要利用差分才能AC,普通树状树有3个点过不了. 差分原理(参考题解区大佬): 一个例子,一组数据 $ a[] = { 1, 5, 4, 2, 3 } $,差分后得到 $ b[ ...
- [linux] ARCH LINUX 常见问题及实用工具汇总
1.办公 screen-recorder 1)深度linux桌面录制软件(不支持录音),操作简单,可以保存mp4和gif格式 2)命令安装:sudo pacman -S deepin-screen-r ...
- git 使用点
git checkout HEAD 只是缓存恢复到head 头版本,文件还没恢复,最后要执行 git checkout . (点) 才能恢复文件内容 git checkout 只是 ...
- CDH
CDH 1.CDH简介 CDH 2.Cloudera Manager的安装 软件下载地址: 链接:https://pan.baidu.com/s/1C5HpiVEOtH_4PjylyJaXvA ...
- 使用13行Python代码实现四则运算计算器函数
原创的刷新行数记录的代码!!! 支持带小括号,支持多个连续+-号,如-7.9/(-1.2-++--99.3/-4.44)*---(2998.654+-+-+-(+1.3-7.654/(-1.36-99 ...
- vjudge Trailing Zeroes (III) (二分答案 && 数论)
嗯... 题目链接:https://vjudge.net/contest/318956#problem/E 这道题是二分答案+数论,但首先是数论,否则你不知如何二分... 首先关于一个阶乘的结果最后会 ...
- 前端开发中的 MVC、MVP、MVVM 模式
MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式(Design Pattern),只是为了解决一类 ...
- SQL mybatis动态查询小结
动态返回mysql某张表指定列的名字 <select id="queryColumns" resultType="map" parameterType=& ...