菜单

Java 文件递归搜索

目录

Java 通讯录以来递归搜索文件

Java 介绍了一个示例程序,该程序可以递归搜索指定目录(包括子目录)中的文件,并获取符合搜索条件的文件列表。
它们等同于 UNIX 命令 ls -R 或 Windows 命令 dir /s。
您也可以在要搜索的文件名中指定 * 作为通配符,或使用正则表达式。

 下面以递归搜索 filelist(包括子目录)目录为例,说明如何获取扩展名为 java 的文件列表。

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


示例程序

执行结果

 为了检查样本程序,我们创建了一个文件列表目录,并准备了以下文件。

显示文件名和更新日期。

*请注意,当前日期是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\direee.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\direee.jpg

从当前日期获取两天前更新的文件
1: C:\filelist\aaa.java
2: C:\filelist\bbb.java
3: C:\filelist\dir\ddd.java
4: C:\filelist\dir\direee.jpg

获取距当前日期 30 天以上的文件
1: C:\filelist\dir\ccc.java
  • URLをコピーしました!
目录