java列出文件正则过滤_JAVA正则表达式过滤文件的实现方法
java正則表達式過濾文件的實現方法
正則表達式過濾文件列表,聽起來簡單,如果用java實現,還真需要一番周折,本文簡析2種方式
1、適用于路徑確定,文件名時正則表達式的情況(jdk6的寫法)
String filePattern = "/data/logs/.+\\.log";
File f = new File(filePattern);
File parentDir = f.getParentFile();
String regex = f.ghttp://www.cppcns.cometName();
FileSystem FS = FileSystems.getDefaulhttp://www.cppcns.com.newArrayList();
try (DirectoryStream stream = Files.newDirectoryStream(parentDir.toPath(), fileFilter)) {
for (Path entry : stream) {
result.add(entry.toFile());
}
} catch (IOExcepthttp://www.cppcns.comion e) {
e.printStackTrace();
}
for(File file : result) {
System.out.println(file.getParent() + "/" + file.getName());
}
2、適用于路徑確定,文件名正則表達式的情況,這種正則表達式是JAVA支持的表達式,而非www.cppcns.com系統(unix)文件系統表達式(jdk8寫法)
Path path = Paths.get("/data/logs");
Pattern pattern = Pattern.compile("^.+\\.log");
List 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正則表達式過濾文件的實現方法
本文地址: http://www.cppcns.com/ruanjian/java/202212.html
總結
以上是生活随笔為你收集整理的java列出文件正则过滤_JAVA正则表达式过滤文件的实现方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于界面的银行家算法java实现_jav
- 下一篇: u盘无法识别怎么弄 如何解决U盘识别问题