.xml正向反向取值(之八)
PatternEnumerateFile类
package com.huawei.esb;import java.util.List;import java.io.File;import java.util.ArrayList;import java.util.regex.Pattern;public class PatternEnumerateFile {public static final String REGEX="enumerate(\\w|_\\w|-\\w)*\\.xml";public static final String FILESEPARATOR=System.getProperties().getProperty("file.separator");private static List<String> enumPaths=new ArrayList<String>();//var-->config目录下的所有枚举文件public static List<String> getEnumPaths(String filePath) {getEnumFilePath(filePath);return enumPaths;}//是否是枚举XML文件 实际判断是否与enumerateTemplet.xml相等public static boolean isXMLFile(String filePath){return filePath.substring(filePath.lastIndexOf(FILESEPARATOR)+1,filePath.length()).trim().equalsIgnoreCase(FileManager.ENUMERATE);}public static void getEnumFilePath(String filePath){//是否是枚举XML文件if(isXMLFile(filePath)){String directoryPath=filePath.substring(0,filePath.lastIndexOf(FILESEPARATOR)+1);File file=new File(directoryPath);if(file.isDirectory()){//file.list()-->获得这个目录下的所有文件名 数组for(String s : file.list()){Pattern pattern = Pattern.compile(REGEX);//与通配表达式匹配 找到所有与通配表达式匹配的枚举文件if(pattern.matcher(s.toLowerCase()).find()){StringBuffer enumFilePath=new StringBuffer();enumFilePath.append(directoryPath);enumPaths.add(enumFilePath.append(s).toString());}}}}}}