Java:递归扫描某个文件下所有文件并使用正则匹配文件
Posted 你是小KS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:递归扫描某个文件下所有文件并使用正则匹配文件相关的知识,希望对你有一定的参考价值。
1. 声明
当前内容主要为本人学习和复习java的基础内容,主要为递归扫描文件夹的所有.txt结尾的文件
主要参考:javaSE官方文档
主要使用:Files这个工具类
2. 基本demo
public static void main(String[] args) {
String userDir = System.getProperty("user.dir");
Path sourcePath = Paths.get(userDir);
// 开启递归扫描文件
String findFileRegex = "*.txt";
try {
Files.walkFileTree(sourcePath, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
try (DirectoryStream<Path> newDirectoryStream = Files.newDirectoryStream(dir, findFileRegex)) {
newDirectoryStream.forEach(x -> {
// 这里为显示文件的方法
System.out.println(x.toString());
});
}
return FileVisitResult.CONTINUE;
}
});
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
3. 执行结果
这样就完成了所有的以txt结尾的文件查找了
主要使用:Files.walkFileTree实现文件递归扫描操作
和Files.newDirectoryStream实现文件正则匹配的操作
以上是关于Java:递归扫描某个文件下所有文件并使用正则匹配文件的主要内容,如果未能解决你的问题,请参考以下文章