使用递归算法搜索文件名并打开.exe文件

import java.io.File;
import java.io.IOException;
//搜寻文件
public class findFindName {
public static void main(String[] args) {
 //传入目录和文件名
	long startTime = System.currentTimeMillis(); 
	findFile(new File("E:/"),"launcher.exe");
	 long endTime = System.currentTimeMillis();
	  System.out.println("用时"+(endTime-startTime)+"ms");
	
}
public static void findFile(File dir,String name){
//判断dir是否是目录
	//获取开始时间
	if(dir!=null && dir.isDirectory()){
	  //判断是否存在一级对象
		File[] files=dir.listFiles();
		  if(files != null && files.length>0){
			  for (File file : files) {
				  if(file.isFile()){
					 if (file.getName().equals(name)) {
						System.out.println("找到了"+file.getAbsolutePath());
						
						 //找到文件后启动软件,只能启动.exe文件
						  Runtime r=Runtime.getRuntime();
						  try {
							r.exec(file.getAbsolutePath());
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						return;
					 }//else{
						// System.out.println("不是这个文件"+file.getAbsolutePath());
					// }
				  }else{
					  findFile(file,name);
					 
					 // System.out.println("没有找到进行下一个目录"+file.getAbsolutePath());
				  }
			  }
		  }else{
//			  System.out.println("该文件夹为空");
		  }
	}else{
	  System.out.println("对不起当前不是文件跟根目录无法搜索");	
	}
}
	
}

 

 

 

 运行.exe文件方法

 //找到文件后启动软件,只能启动.exe文件
						  Runtime r=Runtime.getRuntime();
						  try {
							r.exec(file.getAbsolutePath());
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}

 

posted on 2022-03-29 17:21  就想弄个啥的  阅读(45)  评论(0编辑  收藏  举报

导航