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; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。