import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;public class MainClass {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入要搜索的文件类型,例如:exe、 mp3、 doc等,输入*表示匹配所有类型");
FileSearch.FILE_EXTENSION = scan.next();System.out.println("请输入关键字:(输入nokeyword,表示没有关键字)");
FileSearch.KEY_WORD = scan.next();System.out.println("请输入要搜索的地址:例如:\"C:\\\\soft");
String filePath = scan.next();FileSearch.searchFileList(filePath);for (int i = 0; i < FileSearch.fileNames.size(); i++) {
System.out.println(FileSearch.fileNames.get(i));
}
}}class FileSearch {
static String FILE_EXTENSION = null;
static String KEY_WORD = null;
static ArrayList<String> fileNames = new ArrayList<String>();public static void searchFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles();if (files == null) {
return;
}for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
searchFileList(files[i].getAbsolutePath());
} else {
String fileName = files[i].getAbsolutePath();
if (fileName.endsWith(FILE_EXTENSION)) {
if (KEY_WORD.equals("nokeyword")) {
fileNames.add(fileName);
} else if (fileName.contains(KEY_WORD)) {
fileNames.add(fileName);
}
}
}
}
}
}