JAVA正则表达式过滤文件的实现方法-创新互联

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

专注于为中小企业提供成都网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业沙坡头免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

  正则表达式过滤文件列表,听起来简单,如果用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 fileFilter = new DirectoryStream.Filter() { 
 @Override 
 public boolean accept(Path entry) throws IOException { 
  return matcher.matches(entry.getFileName()) && !Files.isDirectory(entry); 
 } 
}; 
 
List result = Lists.newArrayList(); 
try (DirectoryStream 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()); 
} 
 

新闻标题:JAVA正则表达式过滤文件的实现方法-创新互联
文章起源:http://bzwzjz.com/article/dijghg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 网站制作 成都网站制作 成都商城网站建设 网站建设公司 高端定制网站设计 成都网站建设公司 定制网站建设多少钱 网站设计 成都定制网站建设 达州网站设计 专业网站建设 成都网站设计 高端品牌网站建设 移动网站建设 营销型网站建设 成都营销网站制作 教育网站设计方案 成都网站制作公司 网站建设 成都网站建设 企业网站建设公司