Java實(shí)現(xiàn)文件檢索系統(tǒng)的示例代碼
示例代碼
package Demo; import java.io.File; import java.io.FilenameFilter; import java.util.Scanner; import java.lang.Exception; import java.io.IOException; public class Demo8_1 { public static void main(String[] args) { while(true) { System.out.println("1、按關(guān)鍵字檢索文件"); System.out.println("2、按后綴名找出文件"); System.out.println("3、退出"); System.out.println("請(qǐng)選擇你的操作"); Scanner sr = new Scanner(System.in); int choose = sr.nextInt(); if(choose==1) { searchByKey(); }else if(choose==2) { searchBySuffix(); }else if(choose==3) { exit(); } } } //退出 public static void exit() { System.out.println("你已經(jīng)退出系統(tǒng),感謝使用!"); System.exit(0); } //按照關(guān)鍵字查找 public static void searchByKey() { Scanner sr = new Scanner(System.in); System.out.println("請(qǐng)輸入要檢索文件的位置:"); String dirPath = sr.next(); File dir = new File(dirPath); File[]files = dir.listFiles(); String[] fileNames = new String[files.length]; System.out.println("請(qǐng)輸入檢索文件關(guān)鍵字"); String mainName = sr.next(); //(dir.getName()+"/"+mainName); Filter filter = new Filter(); for(int i=0;i<files.length;i++) { fileNames[i] = files[i].getName(); if(filter.acceptLikeName(fileNames[i],mainName)) { System.out.println(fileNames[i]); } } } //按照后綴名查找 public static void searchBySuffix() { Scanner sr = new Scanner(System.in); System.out.println("請(qǐng)輸入要檢索文件的位置:"); String dirPath = sr.next(); File dir = new File(dirPath); File[]files = dir.listFiles(); String[] fileNames = new String[files.length]; Filter filter = new Filter(); System.out.println("請(qǐng)輸入后綴名"); String endName = sr.next(); for(int i=0;i<files.length;i++) { fileNames[i] = files[i].getName(); if(filter.acceptEndName(dir,fileNames[i],endName)) { System.out.println("后綴名為"+endName+"的有:"+fileNames[i]); } } } } //繼承類FilenameFileter class Filter implements FilenameFilter { public boolean accept(File dir,String name) { return true; } public boolean acceptLikeName(String name,String mainName) { if(name.contains(mainName)) { return true; } return false; } public boolean acceptEndName(File dir,String name,String endName) { File file = new File(dir,name); if(file.isFile()&&name.endsWith(endName)) { return true; } return false; } }
效果圖展示
到此這篇關(guān)于Java實(shí)現(xiàn)文件檢索系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)Java文件檢索系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot自定義maven-plugin插件整合asm代碼插樁
本文主要介紹了SpringBoot自定義maven-plugin插件整合asm代碼插樁,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02前端如何傳遞Array、Map類型數(shù)據(jù)到Java后端
這篇文章主要給大家介紹了關(guān)于前端如何傳遞Array、Map類型數(shù)據(jù)到Java后端的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01Java如何基于ProcessBuilder類調(diào)用外部程序
這篇文章主要介紹了Java如何基于ProcessBuilder類調(diào)用外部程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式
這篇文章主要介紹了JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Java開啟JMX遠(yuǎn)程監(jiān)控服務(wù)配置
這篇文章主要為大家介紹了Java開啟JMX遠(yuǎn)程監(jiān)控的服務(wù)配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Java timezone設(shè)置和mybatis連接數(shù)據(jù)庫時(shí)區(qū)設(shè)置方式
這篇文章主要介紹了Java timezone設(shè)置和mybatis連接數(shù)據(jù)庫時(shí)區(qū)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Springboot中如何使用過濾器校驗(yàn)PSOT類型請(qǐng)求參數(shù)內(nèi)容
在Springboot中創(chuàng)建過濾器,用來過濾所有POST類型請(qǐng)求并獲取body中的參數(shù)進(jìn)行校驗(yàn)內(nèi)容是否合法,該方法僅適用于POST類型請(qǐng)求,本文給大家介紹Springboot中如何使用過濾器校驗(yàn)PSOT類型請(qǐng)求參數(shù)內(nèi)容,感興趣的朋友一起看看吧2023-08-08java中map和對(duì)象互轉(zhuǎn)工具類的實(shí)現(xiàn)示例
這篇文章主要介紹了java中map和對(duì)象互轉(zhuǎn)工具類的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08