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的更多相关文章

  1. java 文件过滤

    public class TestFileio { public static void main(String[] args) { File file = new File("D:/upl ...

  2. java中过滤查询文件

    需求,过滤出C盘demo目录下 所有以.java的文件不区分大小写 通过实现FileFilter接口 定义过滤规则,然后将这个实现类对象传给ListFiles方法作为参数即可. 使用递归方法实现 pa ...

  3. JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

    JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...

  4. Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

  5. Java文件操作源码大全

    Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...

  6. java文件基本操作

    public static void main(String [] args) { try { /* * File类 */ /*String directory = "D:/Workspac ...

  7. Java 文件操作-File

    1.File文件操作 java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等),不能对文件的 ...

  8. Java文件实时监控Commons-io

    今天看到一网友写的 Java 文件监控,实时监控文件加载 ,突然想到Commons-io中已有此功能的实现,先温习下 写个简单的Demo: 有三种方式: 1.java common.io    内部实 ...

  9. java文件过滤器

    java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法 public class DirFi ...

随机推荐

  1. pandas库笔记

    本笔记为自学笔记 1.pandas.DataFrame() 一种保存矩阵的数据格式 grades_df = pd.DataFrame( data={'exam1': [43, 81, 78, 75, ...

  2. Jmeter_正则表达式

    元字符+限定符 元字符: . 任意字符 \d 任意单个数字 [0-9] 0-9 [a-z A-Z] 限定符 + 匹配至少大于1次 ? 匹配0次或者1次 * 匹配0次或者多次 {n}匹配n次 在线正则表 ...

  3. 未来的flags

    完了大致一扫..... (1)P,NP,NPC,NP-Hard 二分图(2)二分图的判定 Tarjan(3)有向图的Tarjan算法(4)无向图的Tarjan算法 (5)A*算法 环套树(6)环套树的 ...

  4. H2知识小结

    1.官网: http://www.h2database.com/html/main.html file:///E:/Develop/H2/docs/html/tutorial.html#web_app ...

  5. 【MySQL】用户管理及备份

    "我们知道我们的最高权限管理者是root用户,它拥有着最高的权限,包括select.update.delete.grant等操作.一般在公司里DBA工程师会创建一个用户和密码,让你去连接数据 ...

  6. ASP.NET CORE 基础知识(一):概述【下】

    此为系列文章,对MSDN ASP.NET Core 的官方文档进行系统学习与翻译.其中或许会添加本人对 ASP.NET Core 的浅显理解 配置 ASP.NET Core提供了一个配置框架,其能够从 ...

  7. QBImagePickerController 不可选择照片流中照片

    因为QBImagePickerController使用的ALAssetsLibrary方式来读取图片,如果采用默认方式去执行,那么根据url读取到的asset会为空,这时候我们就 需要特殊处理 [se ...

  8. excel 练习玩具统计项目组excel日报

    import xlrd import xlwt import os,time import json from xlrd import xldate_as_tuple from datetime im ...

  9. 【JavaWeb+Echarts+EL表达式】用图表形式展示数据

    1. Echarts环境配置 https://www.echartsjs.com/zh/download.html 选择需要的,然后等待Build完成之后,就会自动弹出下载框啦! 把下载好的js放在w ...

  10. php 算false的情况

    四.PHP中算false的情况 1.Boolan false 2.整形 0 3.浮点型 0.0 4.字符串"" "0" ("0.0" &qu ...