Java如何使用文件名递归查找文件呢?
下文笔者讲述Java代码中使用文件名进行递归查找文件的方法分享,如下所示
实现思路:
使用遍历文件夹中文件的方法
依次对文件进行判断
然后找到指定文件名即可
例:
/**
* 递归查找文件
* @param baseDirName 查找的文件夹路径
* @param targetFileName 需要查找的文件名
*/
public static File findFiles(String baseDirName, String targetFileName) {
File file = null;
File baseDir = new File(baseDirName); // 创建一个File对象
if (!baseDir.exists() || !baseDir.isDirectory()) { // 判断目录是否存在
logger.info("文件查找失败:" + baseDirName + "不是一个目录!");
}
String tempName = null;
//判断目录是否存在
File tempFile;
File[] files = baseDir.listFiles();
for (int i = 0; i < files.length; i++) {
tempFile = files[i];
if(tempFile.isDirectory()){
file = findFiles(tempFile.getAbsolutePath(), targetFileName);
if (file != null) {
return file;
}
}else if(tempFile.isFile()){
tempName = tempFile.getName();
if(tempName.equals(targetFileName)){
return tempFile.getAbsoluteFile();
}
}
}
return file;
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


