菜单

Java递归文件搜索

目录

Java 目录递归搜索文件

Java 接下来,我将介绍一个示例程序,该程序递归地搜索指定目录(包括其子目录)中的文件,并检索符合搜索条件的文件列表。
这些命令执行的操作与 UNIX 命令 `ls -R` 和 Windows 命令 `dir /s` 相同。
此外,您还可以在要搜索的文件名中指定 * 作为通配符,或者使用正则表达式进行搜索。

例如,在以下示例中,将递归搜索目录“filelist”,包括其子目录,并获取扩展名为“.java”的文件列表。

FileSearch search = new FileSearch();
File[] files = search.listFiles(“C:/filelist/”, “*.java”);


示例程序

执行结果

为了验证示例程序,我创建了一个名为 `filelist` 的目录,并准备了以下文件。

显示文件名和修改日期。

*请注意,当前日期为2007/08/18假设情况确实如此。

C:\filelist │ aaa.java 2007/08/18 │ bbb.java 2007/08/18 └─dir ccc.java 2007/07/17 ddd.java 2007/08/18 eee.jpg 2007/08/16

◆示例


◆输出结果

●获取所有文件 1: C:\filelist\aaa.java 2: C:\filelist\bbb.java 3: C:\filelist\dir\ccc.java 4: C:\filelist\dir\ddd.java 5: C:\filelist\dir\eee.jpg ●获取扩展名为 .java 的文件 1: C:\filelist\aaa.java 2: C:\filelist\bbb.java 3: C:\filelist\dir\ccc.java 4: C:\filelist\dir\ddd.java ●获取所有文件和目录 1: C:\filelist\aaa.java 2: C:\filelist\bbb.java 3: C:\filelist\dir 4: C:\filelist\dir\ccc.java 5: C:\filelist\dir\ddd.java 6: C:\filelist\dir\eee.jpg ●获取从今天开始更新的文件,从两天前开始 1: C:\filelist\aaa.java 2: C:\filelist\bbb.java 3: C:\filelist\dir\ddd.java 4: C:\filelist\dir\eee.jpg ●检索30天或更早的旧文件(从当前日期算起) 1: C:\filelist\dir\ccc.java
  • URLをコピーしました!
目录