JAVA-键盘输入要搜索的文件,在全盘中查找指定的文件,并列出所有符合查找条件的文件名和完整路径。
程序员文章站
2022-05-09 23:47:22
...
import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Demo { public static void main(String[] args) throws IOException { List<String> list=new ArrayList<String>(); //创建列表 Scanner sc=new Scanner(System.in); //录入键盘 System.out.print("请输入要搜索的文件名:"); String FileName=sc.next(); /* File file=new File("D:\\"); //指定具体的盘符 scanFile(file, FileName, list); judgeFile(list); */ File[] roots=File.listRoots(); // 获取系统中的所有盘符 for(File file:roots) { //全盘查询文件 scanFile(file, FileName, list); } judgeFile(list); } public static void scanFile(File file,String FileName,List<String>list) throws IOException { File[] files = file.listFiles(); // 获取文件夹中的所有文件 if(files != null){ for(File f : files){ //在所有文件列表中查找所查询的文件 if(f.getName().indexOf(FileName) >= 0){ //如果所查询的文件在列表中就获取文件下标 list.add(f.getAbsolutePath()); //获取文件的绝对值路径并添加到列表计数 } if(f.isDirectory()){ //判断是否是文件 scanFile(f, FileName, list); } } } } public static void judgeFile(List<String> list) { if (list.size() == 0){ System.out.println("没有找到文件。"); } else{ for(String s : list){ System.out.println("找到文件" + s); } System.out.println("共找到文件" + list.size() + "个"); } } }
上一篇: Python解决相对路径问题