Java遞歸模糊查詢文件實(shí)例代碼
前言
在數(shù)據(jù)結(jié)構(gòu)算法設(shè)計中,或者一個方法的具體實(shí)現(xiàn)的時候,有一種方法叫做“遞歸”,這種方法在思想上并不是特別難,但是實(shí)現(xiàn)起來還是有一些需要注意的。雖然對于很多遞歸算法都可以由相應(yīng)的循環(huán)迭代來代替,但是對于一些比較抽象復(fù)雜的算法不用遞歸很難理解與實(shí)現(xiàn)。
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;
}
遞歸遍歷文件
/**
* 模糊查詢相關(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()){//如果是文件,則先模糊查詢,判斷是否相關(guān)
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/達(dá)芬奇";
File file = new File(A);
FileService fileService = new FileServiceImpl();
System.out.println(fileService.searchFileList(file,"myse").toString());
}
總結(jié)
到此這篇關(guān)于Java遞歸模糊查詢文件的文章就介紹到這了,更多相關(guān)Java遞歸模糊查詢文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談SpringMVC之視圖解析器(ViewResolver)
本篇文章主要介紹了淺談SpringMVC之視圖解析器(ViewResolver),具有一定的參考價值,有興趣的可以了解一下2017-08-08
MyBatis 動態(tài)SQL和緩存機(jī)制實(shí)例詳解
這篇文章主要介紹了MyBatis 動態(tài)SQL和緩存機(jī)制實(shí)例詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-09-09
Java JDBC API介紹與實(shí)現(xiàn)數(shù)據(jù)庫連接池流程
JDBC是指Java數(shù)據(jù)庫連接,是一種標(biāo)準(zhǔn)Java應(yīng)用編程接口( JAVA API),用來連接 Java 編程語言和廣泛的數(shù)據(jù)庫。從根本上來說,JDBC 是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問到底層數(shù)據(jù)庫,本篇文章我們來了解JDBC API及數(shù)據(jù)庫連接池2022-12-12
IDEA實(shí)現(xiàn)添加 前進(jìn)后退 到工具欄的操作
這篇文章主要介紹了IDEA 前進(jìn) 后退 添加到工具欄的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02

