/**
* 从指定文件路径获取文件信息
* @param path 文件路径
* @param extName 文件扩展名 如xml
* @param mode 模式 0-(返回key=相对classes文件夹根目录位置的文件名 value=null) 1-(返回key=绝对文件名 value=null) 2-(返回key=相对classes文件夹根目录位置的文件名 value=file对象)
* @return
*/
public static Map<String, File> getDirFile(String path,String extName,int mode){
Map<String,File> fileMap = new HashMap<String,File>();
File targetFile= new File(path);
File[] fileArr =targetFile.listFiles();
String suffix = "";
String fileName = "";
String xmlFilePath = "";
String relativeFilePath = "";
int pos = 0;
for (File file : fileArr) {
if (file.isFile()){//若是文件
fileName = file.getName();
suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
if (StringUtils.isNotBlank(extName) && !suffix.equals(extName)) {continue;}
xmlFilePath = file.getAbsolutePath().replace("\\", "/");
pos = xmlFilePath.toUpperCase().indexOf("WEB-INF/CLASSES/");
relativeFilePath = xmlFilePath.substring(pos + 16);
if (mode == 0 ) {
fileMap.put(relativeFilePath,null);
}if(mode == 1 ) {
fileMap.put(xmlFilePath, null);
} else if (mode == 2) {
fileMap.put(relativeFilePath,file);
}
} else if (file.isDirectory()){//若是文件夹,递归
getDirFile(file.getAbsolutePath(),extName,mode);
}
}
return fileMap;
}
网友评论