Java递归模糊查询文件实例代码
更新时间:2021年11月11日 10:34:14 作者:算法爱好者丶
递归算法是一种直接或间接地调用自身的算法,在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解,这篇文章主要给大家介绍了关于Java递归模糊查询文件的相关资料,需要的朋友可以参考下
前言
在数据结构算法设计中,或者一个方法的具体实现的时候,有一种方法叫做“递归”,这种方法在思想上并不是特别难,但是实现起来还是有一些需要注意的。虽然对于很多递归算法都可以由相应的循环迭代来代替,但是对于一些比较抽象复杂的算法不用递归很难理解与实现。
Java递归模糊查询文件
字符串模糊查询
/** * 模糊查询 * @param str 需要查询的字符串 * @param part 部分 * @return true 代表查到的 false 代表没查到 */ public boolean matchStringByIndexOf(String str,String part) { int count = 0; int index = 0; while( ( index = str.indexOf(part, index) ) != -1 ) { index = index+part.length(); count++; } if(count < 1){ return false; } return true; }
递归遍历文件
/** * 模糊查询相关文件 * @param path 文件路径 * @param fileName 需要找的文件 */ public List<String> searchFileList(File path, String fileName){ File[] files=path.listFiles(); //列出所有的子文件 for(File file :files) { if(file.isFile()){//如果是文件,则先模糊查询,判断是否相关 if(stringUtilService.matchStringByIndexOf(file.toString(),fileName)){ fileListData.add(file.toString()); } }else if(file.isDirectory())//如果是文件夹,则输出文件夹的名字,并递归遍历该文件夹 { searchFileList(file,fileName);//递归遍历 } } return fileListData; }
测试
public static void main(String[] args) { String A ="G:/HTML/testData/达芬奇"; File file = new File(A); FileService fileService = new FileServiceImpl(); System.out.println(fileService.searchFileList(file,"myse").toString()); }
总结
到此这篇关于Java递归模糊查询文件的文章就介绍到这了,更多相关Java递归模糊查询文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot登录、退出、获取用户信息的session处理方案
这篇文章主要介绍了SpringBoot登录、退出、获取用户信息的session处理,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-08-08SpringBoot管理RabbitMQ中的Channel详解
这篇文章主要介绍了SpringBoot管理RabbitMQ中的Channel详解,channel仅存在于connection的上下文中,而不会单独存在,当channel关闭时,其上的所有channel也会关闭,需要的朋友可以参考下2023-08-08Python中scrapy框架的ltem和scrapy.Request详解
这篇文章主要介绍了Python中scrapy框架的ltem和scrapy.Request详解,Item是保存爬取数据的容器,它的使用方法和字典类似,不过,相比字典,Item提供了额外的保护机制,可以避免拼写错误或者定义字段错误,需要的朋友可以参考下2023-09-09
最新评论