如果需要查询其他盘只需更改第三行的代码为File file = new File("D:\\");或其他即可。
import java.io.File;
import java.util.Scanner;
import java.util.LinkedList;
public class findfile {
public static void main(String[] args) {
String str = shuruduan();
File file = new File("E:\\");
LinkedList<String> list1 = new LinkedList<>();
LinkedList<String> list = newduixiang(file,list1);
bianlijihe(list,str);
}
public static String shuruduan() {
System.out.println("请输入您要寻找的文件名或者目录名:");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
return line;
}
public static LinkedList<String> newduixiang(File file,LinkedList<String> list) {
if (file.isDirectory() && file.listFiles() != null) {
File[] files = file.listFiles();
for (File f1 : files) {
if (f1.isDirectory()) {
// System.out.println("文件夹"+f1);
newduixiang(f1,list);
} else {
String path = f1.getAbsolutePath();
// System.out.println("检测所有文件:" + path);
list.add(path);
}
}
}
// System.out.println(list);
return list;
}
public static void bianlijihe(LinkedList<String> list, String s) {
System.out.println("符合您的描述有以下文件:");
for (String ss : list) {
if (s==ss||ss.contains(s)){
System.out.println(ss);
}
}
}
}
代码写的不好,敬请见谅www,不足之处希望得到大神指点,谢谢。
?
|