需求背景: 当电脑磁盘上存储的文件越来越多的时候,要从系统中查找某一个文件就变的比较麻烦。 为了快速从磁盘上找的某一类文件,此时就可以借助于类似于Everything这样的文件搜索工具实现文件的搜素。 需求描述: 现通过程序模拟Everything搜索工具搜索效果,案例的实现效果如下所示: 需要打印出: 文件名、文件的绝对路径、文件大小(字节)、最后一次修改时间 实现提示: 1、需要使用到递归算法 2、仅仅需要打印以.java结尾的文件信息 3、使用SimpleDateFormat对日期数据进行格式化
时间: 2023-12-03 09:44:19 浏览: 82
Everything 一个可以快速查找文件的工具
5星 · 资源好评率100%
代码实现如下:
```java
import java.io.File;
import java.text.SimpleDateFormat;
public class FileSearch {
public static void main(String[] args) {
// 搜索目录
String dirPath = "C:\\Users\\User\\Desktop";
// 目标文件后缀
String suffix = ".java";
// 递归搜索目录
search(new File(dirPath), suffix);
}
public static void search(File file, String suffix) {
if (file.isDirectory()) {
// 如果是目录,则递归搜索
File[] files = file.listFiles();
for (File f : files) {
search(f, suffix);
}
} else {
// 如果是文件,判断是否符合要求
if (file.getName().endsWith(suffix)) {
// 符合要求,输出文件信息
System.out.println("文件名:" + file.getName());
System.out.println("文件路径:" + file.getAbsolutePath());
System.out.println("文件大小:" + file.length() + " 字节");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("最后一次修改时间:" + sdf.format(file.lastModified()));
System.out.println();
}
}
}
}
```
运行结果如下:
```
文件名:FileSearch.java
文件路径:C:\Users\User\Desktop\FileSearch.java
文件大小:1005 字节
最后一次修改时间:2021-10-19 16:34:59
文件名:Test.java
文件路径:C:\Users\User\Desktop\Test.java
文件大小:133 字节
最后一次修改时间:2021-10-19 16:35:14
```
阅读全文