按照文件夹名字进行升序排序

本文介绍了一种通过提取文件名中的数字并进行补零处理来实现文件列表升序排序的方法。这种方法适用于文件名中包含数字标识的情况,通过对文件名进行处理,确保文件能够按照预期的数字顺序排列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
  * 对文件进行升序排序
  * @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;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值