java 过滤文件名_Java FileNameFilter过滤文件名
当使用File类的listFiles()方法时,可以实现FilenameFilter接口来过滤文件名。
Java FilenameFilter接口
Java FileNameFilter接口具有应该实现的方法boolean accept(File dir,String name),并且测试每个文件以使该方法包含在文件列表中。
从Java 8开始,FileNameFilter是一个功能接口,因为它只有一个方法。
Java FilenameFilter示例
在java中使用FilenameFilter来查找目录中特定扩展的所有文件。下面是演示如何在java中使用FileNameFilter过滤文件名称的程序。
import java.io.File;
import java.io.FilenameFilter;
public class FileNameFilterExample {
public static void main(String[] args) {
String dir = "D:/maxsu/temp";
String extension = ".doc";
findFiles(dir, extension);
}
private static void findFiles(String dir, String extension) {
File file = new File(dir);
if (!file.exists())
System.out.println(dir + " Directory doesn't exists");
File[] listFiles = file.listFiles(new MyFileNameFilter(extension));
// File[] listFiles = file.listFiles((d, s) -> {
// return s.toLowerCase().endsWith(extension);
// });
if (listFiles.length == 0) {
System.out.println(dir + "doesn't have any file with extension " + extension);
} else {
for (File f: listFiles)
System.out.println("File: " + dir + File.separator + f.getName());
}
}
// FileNameFilter接口的实现
public static class MyFileNameFilter implements FilenameFilter {
private String extension;
public MyFileNameFilter(String extension) {
this.extension = extension.toLowerCase();
}
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(extension);
}
}
}
MyFileNameFilter类实现FilenameFilter接口中的accept()方法来检查文件名是否以特定扩展名结尾。在main方法中调用findFiles()方法,该方法使用MyFileNameFilter仅列出xml文件。请注意,MyFileNameFilter在检查文件扩展名时忽略大小写。
带有lambda表达式FileNameFilter实现
由于FileNameFilter是一个功能接口,可以使用lambda表达式来减少上面的代码。下面是使用带有lambda表达式的FileNameFilter实现代码。
File[] listFiles = file.listFiles((d, s) -> {
return s.toLowerCase().endsWith(extension);
});
上面就是java FileNameFilter过滤文件名称的全部内容,希望它能帮助您使用某些条件列出目录中的文件。
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。
java 过滤文件名_Java FileNameFilter过滤文件名相关推荐
- java 固定电话_Java 编写过滤手机号码或者固定电话的工具类
以下是分享自己编写的用于过滤手机号码.固定电话.黑名单的工具类TelCheckUtils, import java.util.HashSet; import java.util.Set; import ...
- java输入文件名_java输入输出---读取文件名
import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; public class ...
- java io流过滤流_JAVA io流 文件流 字节流 字符流 过滤流 缓冲流
一.概念 1.1.按流向分类: 输入流: 程序可以从中读取数据的流. 输出流: 程序能向其中写入数据的流. 1.2.按数据传输单位分类: 字节流:以字节(8位二进制)为单位进行处理.主要用于读写诸如图 ...
- java 过滤字符串_java 过滤字符串方法实现
这样过滤:"你TMD,也太缺德了吧"过滤后"你***,也太缺德了吧"把骂人的脏话过滤成*号 package test; import java.util.Has ...
- java 正则表达式过滤_java正则表达式过滤特殊字符
Java用正则表达式 过滤特殊字符,只允许中文.字母Java用正则表达式 过滤特殊字符,只允许中文.字母或数字,该怎么写? String s1="我是正确测试数据aasdf2342343AS ...
- java 获取上传文件的格式_js和java获取上传文件的文件名以及上传文件格式判断...
js获取文件名: //校验 function check(){ var fileType = $("#template").val(); //判断后缀是不是需要的文件类型 if(f ...
- java中过滤流_第十四讲 Java中的字节流和过滤流
第十四讲Java中的字节流和过滤流 主要内容 InputStream和FileInputStream OutputStream和FileOutputStream 文件字节IO流应用举例 过滤流类和常用 ...
- java.io设计模式_Java IO文件过滤器对命令设计模式的使用
一. 点睛 java io流里面使用到了很多的设计模式,最典型的就是装饰模式,还有命令模式.通过对文件过滤器功能的简单使用,可以一窥java io流对命令设计模式的典型使用.下面分两部分来讲,先举例说 ...
- java 运行异常处理_Java编程异常处理和I/O流
重点: 1.在编写程序时,要正确地使用捕获例外和声明抛出异常的两种例外处理的方法. 2.遇到实际问题时,要根据需要正确使用各种输入/输出流,特别是对中文使用适当的字符输入流. 3.正确使用对象串行化的 ...
最新文章
- scala 处理 Response返回 时间报错问题
- 装饰器,闭包,高阶函数,嵌套函数
- Boost:有序的bimap双图的测试程序
- 爬虫抓取糯米网上所有商家数据
- PHP常用字符串函数小结
- php mysql刷新表格_PHP和AJAMYSQL数据库刷新表格
- [转]HttpWatch工具简介及使用技巧
- 处理一些常见的跨浏览器封装的函数
- 艾伟_转载:VS2008连接SQL Server数据库文件出错的解决方案
- 【水果识别】基于matlab GUI苹果质量检测及分级系统(带面板)【含Matlab源码 1613期】
- html网页设计插件,适用于网页设计的Photoshop插件包
- fw150us的linux驱动下载,迅捷FW150US1.0/2.0无线网卡驱动
- 2017年全国大学生电子设计竞赛 单相用电器分析监测装置(K题)
- html 苹果 地图,pdrLocationIos0508.html
- layui常用审核弹窗
- 要学习使用的安全工具
- 【传感器模块】 HC-SR501 人体红外感应模块 热释电 红外传感器
- 最牛ks短视频评论采集软件
- SSH命令行使用方法
- 西瓜大作战java 源码_魔改和上线你的合成大西瓜,最全教程!
热门文章
- python高级应用_Python高级编程技巧
- 计算机应用技术滨江计划,杭州高新区(滨江)列出干货满满的“计划表”
- Java黑皮书课后题第5章:5.12(求满足n方>12000的n的最小值)使用while循环找出满足n方大于12000的最小整数n
- 任意长度的高精度大整数加法
- atoi() 与 itoa()函数的内部实现
- 【洛谷 1969】积木大赛
- 几款流行的HTML5 UI 框架比较
- react——一个todolist的demo
- Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)
- Android调试相关的技术常识