您的位置:首页 > 编程语言 > Java开发

通过递归查询指定目录下的所有文件和子文件夹下的指定文件名

2016-09-28 20:31 573 查看

递归查询指定目录下的指定文件路径

    自己写了一个简单的小方法,通过递归的方式找到指定目录下,想要的文件,包括目录下和子目录下的所有文件。

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());
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐