列出指定目錄的下的指定檔案集 keyword關鍵字篩選
阿新 • • 發佈:2018-11-08
在做sql調優時需要從xml中抽出sql進行優化,所以遍歷專案取到mybatis/ibatis的sql xml檔案集
方法如下:
希望對有需要的朋友有所幫助public static File[] searchFile(File folder, final String keyWord) {// 遞迴查詢包含關鍵字的檔案 File[] subFolders = folder.listFiles(new FileFilter() {// 運用內部匿名類獲得檔案 @Override public boolean accept(File pathname) {// 實現FileFilter類的accept方法 if (pathname.isDirectory() || (pathname.getName().toLowerCase().contains(keyWord.toLowerCase())))// 目錄或檔案包含關鍵字 return true; return false; } }); List<File> result = new ArrayList<File>();// 宣告一個集合 for (int i = 0; i < subFolders.length; i++) {// 迴圈顯示資料夾或檔案 if (subFolders[i].isFile()) {// 如果是檔案則將檔案新增到結果列表中 result.add(subFolders[i]); } else {// 如果是資料夾,則遞迴呼叫本方法,然後把所有的檔案加到結果列表中 File[] foldResult = searchFile(subFolders[i], keyWord); for (int j = 0; j < foldResult.length; j++) {// 迴圈顯示檔案 result.add(foldResult[j]);// 檔案儲存到集合中 } } } File files[] = new File[result.size()];// 宣告檔案陣列,長度為集合的長度 result.toArray(files);// 集合陣列化 return files; }
方法出處:http://blog.csdn.net/visant/article/details/53693572