JAVA正则表达式过滤文件的实现方法
发布时间 - 2026-01-11 03:04:19 点击率:次JAVA正则表达式过滤文件的实现方法

正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式
1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)
String filePattern = "/data/logs/.+\\.log";
File f = new File(filePattern);
File parentDir = f.getParentFile();
String regex = f.getName();
FileSystem FS = FileSystems.getDefault();
final PathMatcher matcher = FS.getPathMatcher("regex:" + regex);
DirectoryStream.Filter<Path> fileFilter = new DirectoryStream.Filter<Path>() {
@Override
public boolean accept(Path entry) throws IOException {
return matcher.matches(entry.getFileName()) && !Files.isDirectory(entry);
}
};
List<File> result = Lists.newArrayList();
try (DirectoryStream<Path> stream = Files.newDirectoryStream(parentDir.toPath(), fileFilter)) {
for (Path entry : stream) {
result.add(entry.toFile());
}
} catch (IOException e) {
e.printStackTrace();
}
for(File file : result) {
System.out.println(file.getParent() + "/" + file.getName());
}
2、适用于路径确定,文件名正则表达式的情况,这种正则表达式是JAVA支持的表达式,而非系统(unix)文件系统表达式(jdk8写法)
Path path = Paths.get("/data/logs");
Pattern pattern = Pattern.compile("^.+\\.log");
List<Path> paths = Files.walk(path).filter(p -> {
//如果不是普通的文件,则过滤掉
if(!Files.isRegularFile(p)) {
return false;
}
File file = p.toFile();
Matcher matcher = pattern.matcher(file.getName());
return matcher.matches();
}).collect(Collectors.toList());
for(Path item : paths) {
System.out.println(item.toFile().getPath());
}
以上就是java 正则表达式过滤文件的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# JAVA
# 正则
# java正则表达式过滤文件的实现
# java使用正则表达式过滤html标签
# Java正则表达式过滤出字母、数字和中文
# 字符串过滤正则表达式的方法
# 正则表达式
# 适用于
# 如有
# 希望能
# 如果不是
# 文件列表
# 而非
# 谢谢大家
# 听起来
# 文件系统
# 疑问请
# 过滤掉
# PathMatcher
# matcher
# getPathMatcher
# final
# FS
# FileSystem
# getDefault
# FileSystems
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
昵图网官方站入口 昵图网素材图库官网入口
Internet Explorer官网直接进入 IE浏览器在线体验版网址
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
米侠浏览器网页背景异常怎么办 米侠显示修复
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
如何在云主机上快速搭建网站?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
JavaScript如何实现类型判断_typeof和instanceof有什么区别
如何在阿里云虚拟服务器快速搭建网站?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何实现建站之星域名转发设置?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Angular 表单中正确绑定输入值以确保提交与验证正常工作
如何在云主机快速搭建网站站点?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
免费网站制作appp,免费制作app哪个平台好?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何快速搭建高效WAP手机网站?
如何在IIS7上新建站点并设置安全权限?
Laravel如何使用查询构建器?(Query Builder高级用法)
韩国服务器如何优化跨境访问实现高效连接?
图册素材网站设计制作软件,图册的导出方式有几种?
如何挑选最适合建站的高性能VPS主机?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Python结构化数据采集_字段抽取解析【教程】
零基础网站服务器架设实战:轻量应用与域名解析配置指南
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel如何保护应用免受CSRF攻击?(原理和示例)
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何快速搭建个人网站并优化SEO?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
php json中文编码为null的解决办法
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
如何撰写建站申请书?关键要点有哪些?
iOS UIView常见属性方法小结
node.js报错:Cannot find module 'ejs'的解决办法
如何用5美元大硬盘VPS安全高效搭建个人网站?
下一篇:宝塔面板如何进行网站CDN加速
下一篇:宝塔面板如何进行网站CDN加速

