递归查询指定目录下的指定文件路径
自己写了一个简单的小方法,通过递归的方式找到指定目录下,想要的文件,包括目录下和子目录下的所有文件。
package research; import java.io.File; import java.util.ArrayList; import java.util.List; /** * @author 关世杰 * @since 2016.9.28 * */ public class ResearchFile { /**根据文件名和上级目录路径,查找指定文件的绝对路径 * @param fileName * @param fileSaveRootPath * @return 文件绝对路径 * @throws BusinessException * @author Guan */ public String findFilePath(String fileName, String fileSaveRootPath) { List<String> pathList = new ArrayList<String>(); researchfile(new File(fileSaveRootPath),fileName,pathList); String path = null; if(pathList.size()>=1)path = pathList.get(0); return path; } /**根据文件名和上级目录,查找所有该文件的绝对路径 * @param file * @param fileName * @param pathList * @author Guan */ public static void researchfile(File file,String fileName,List<String> pathList) { if (file.isDirectory()) { File[] filearry = file.listFiles(); for (File f : filearry) { researchfile(f,fileName,pathList); } }else{ if(file.getName().equals(fileName)){ pathList.add(file.getAbsolutePath()); } } } }