/**
* 对文件进行升序排序
* @param files 排序前的文件List
* @param finalFiles 排序后的文件List
*/
public static List<File>sortFilesList(List<File>files,List<File>finalFiles){
Map<String,String> map=new TreeMap<String, String>();
for(File ff:files){
String ffName=Util.getFileNameByAbsolutePath(ff.getAbsolutePath());
/*比如一个字符串:String mbmc=MB_FS2或者String mbmc=MB_FSAB21或者String mbmc=MB_F22SABC202
只获取后面的数字:即:2、21、202。前面的字符串个数不定,并且前面字符串中的数字不要,只要后面的数字*/
String []arry=ffName.split("[\\D]+");//对文件名进行处理提取后面的数字
String newffName=arry[arry.length-1];
String str ="00000";//设定位数为5位
newffName=str.substring(0, 5-newffName.length())+newffName;
//对获取的数字进行补零
map.put(newffName, ff.getAbsolutePath());
}
//根据map的Key进行升序排序
for(String key:map.keySet()){
String tempValue=map.get(key);
//System.out.println(tempValue);
finalFiles.add(new File(tempValue));
}
return finalFiles;
}
* 对文件进行升序排序
* @param files 排序前的文件List
* @param finalFiles 排序后的文件List
*/
public static List<File>sortFilesList(List<File>files,List<File>finalFiles){
Map<String,String> map=new TreeMap<String, String>();
for(File ff:files){
String ffName=Util.getFileNameByAbsolutePath(ff.getAbsolutePath());
/*比如一个字符串:String mbmc=MB_FS2或者String mbmc=MB_FSAB21或者String mbmc=MB_F22SABC202
只获取后面的数字:即:2、21、202。前面的字符串个数不定,并且前面字符串中的数字不要,只要后面的数字*/
String []arry=ffName.split("[\\D]+");//对文件名进行处理提取后面的数字
String newffName=arry[arry.length-1];
String str ="00000";//设定位数为5位
newffName=str.substring(0, 5-newffName.length())+newffName;
//对获取的数字进行补零
map.put(newffName, ff.getAbsolutePath());
}
//根据map的Key进行升序排序
for(String key:map.keySet()){
String tempValue=map.get(key);
//System.out.println(tempValue);
finalFiles.add(new File(tempValue));
}
return finalFiles;
}