.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());
					}
				}
			}
			
		}
	}
}

你可能感兴趣的:(xml)