Java遞歸模糊查詢(xún)文件實(shí)例代碼
前言
在數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)中,或者一個(gè)方法的具體實(shí)現(xiàn)的時(shí)候,有一種方法叫做“遞歸”,這種方法在思想上并不是特別難,但是實(shí)現(xiàn)起來(lái)還是有一些需要注意的。雖然對(duì)于很多遞歸算法都可以由相應(yīng)的循環(huán)迭代來(lái)代替,但是對(duì)于一些比較抽象復(fù)雜的算法不用遞歸很難理解與實(shí)現(xiàn)。
Java遞歸模糊查詢(xún)文件
字符串模糊查詢(xún)
/**
* 模糊查詢(xún)
* @param str 需要查詢(xún)的字符串
* @param part 部分
* @return true 代表查到的 false 代表沒(méi)查到
*/
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;
}
遞歸遍歷文件
/**
* 模糊查詢(xún)相關(guān)文件
* @param path 文件路徑
* @param fileName 需要找的文件
*/
public List<String> searchFileList(File path, String fileName){
File[] files=path.listFiles(); //列出所有的子文件
for(File file :files)
{
if(file.isFile()){//如果是文件,則先模糊查詢(xún),判斷是否相關(guān)
if(stringUtilService.matchStringByIndexOf(file.toString(),fileName)){
fileListData.add(file.toString());
}
}else if(file.isDirectory())//如果是文件夾,則輸出文件夾的名字,并遞歸遍歷該文件夾
{
searchFileList(file,fileName);//遞歸遍歷
}
}
return fileListData;
}
測(cè)試
public static void main(String[] args) {
String A ="G:/HTML/testData/達(dá)芬奇";
File file = new File(A);
FileService fileService = new FileServiceImpl();
System.out.println(fileService.searchFileList(file,"myse").toString());
}
總結(jié)
到此這篇關(guān)于Java遞歸模糊查詢(xún)文件的文章就介紹到這了,更多相關(guān)Java遞歸模糊查詢(xún)文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談SpringMVC之視圖解析器(ViewResolver)
本篇文章主要介紹了淺談SpringMVC之視圖解析器(ViewResolver),具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
JVM系列之:再談java中的safepoint說(shuō)明
這篇文章主要介紹了JVM系列之:再談java中的safepoint說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
MyBatis 動(dòng)態(tài)SQL和緩存機(jī)制實(shí)例詳解
這篇文章主要介紹了MyBatis 動(dòng)態(tài)SQL和緩存機(jī)制實(shí)例詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-09-09
Java JDBC API介紹與實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池流程
JDBC是指Java數(shù)據(jù)庫(kù)連接,是一種標(biāo)準(zhǔn)Java應(yīng)用編程接口( JAVA API),用來(lái)連接 Java 編程語(yǔ)言和廣泛的數(shù)據(jù)庫(kù)。從根本上來(lái)說(shuō),JDBC 是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問(wèn)到底層數(shù)據(jù)庫(kù),本篇文章我們來(lái)了解JDBC API及數(shù)據(jù)庫(kù)連接池2022-12-12
IDEA實(shí)現(xiàn)添加 前進(jìn)后退 到工具欄的操作
這篇文章主要介紹了IDEA 前進(jìn) 后退 添加到工具欄的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
一篇文章帶你了解mybatis的動(dòng)態(tài)SQL
這篇文章主要為大家介紹了mybatis的動(dòng)態(tài)SQL?,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01

