全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JAVA正则表达式过滤文件的实现方法

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 


相关文章: 建站之星如何防范黑客攻击与数据泄露?  建站之星免费版是否永久可用?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  重庆市网站制作公司,重庆招聘网站哪个好?  建站之星如何实现网站加密操作?  广州商城建站系统开发成本与周期如何控制?  个人网站制作流程图片大全,个人网站如何注销?  如何快速打造个性化非模板自助建站?  深圳网站制作的公司有哪些,dido官方网站?  如何在阿里云ECS服务器部署织梦CMS网站?  如何在阿里云完成域名注册与建站?  建站之星如何快速生成多端适配网站?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  淘宝制作网站有哪些,淘宝网官网主页?  定制建站如何定义?其核心优势是什么?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何通过FTP服务器快速搭建网站?  官网网站制作腾讯审核要多久,联想路由器newifi官网  如何在万网ECS上快速搭建专属网站?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何零基础开发自助建站系统?完整教程解析  如何有效防御Web建站篡改攻击?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何在阿里云部署织梦网站?  如何快速搭建高效服务器建站系统?  移民网站制作流程,怎么看加拿大移民官网?  如何通过西部建站助手安装IIS服务器?  建站上市公司网站建设方案与SEO优化服务定制指南  如何通过FTP空间快速搭建安全高效网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  完全自定义免费建站平台:主题模板在线生成一站式服务  开心动漫网站制作软件下载,十分开心动画为何停播?  建站主机如何选?高性价比方案全解析  建站三合一如何选?哪家性价比更高?  Python文件管理规范_工程实践说明【指导】  如何在万网自助建站中设置域名及备案?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  建站之星免费模板:自助建站系统与智能响应式一键生成  岳西云建站教程与模板下载_一站式快速建站系统操作指南  香港服务器租用每月最低只需15元?  如何零成本快速生成个人自助网站?  网站制作的步骤包括,正确网址格式怎么写?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  网站制作话术技巧,网站推广做的好怎么话术?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。