【转】java对File.listFiles()排序
java对File.listFiles()排序
觉得有用的话,欢迎一起讨论相互学习~
转载地址:点击打开链接
最近公司要做文件打包 由于File.listFiles()返回的文件是无序的,但文件必须按顺序 遂写下来分享给大家!
目录文件结构:
java代码采用选择排序算法:
public static File[] sort(File[] s){
//中间值
File temp =null;
//外循环:我认为最小的数,从0~长度-1
for(int j = 0; j<s.length-1;j++){
//最小值:假设第一个数就是最小的
String min = s[j].getName();
//记录最小数的下标的
int minIndex=j;
//内循环:拿我认为的最小的数和后面的数一个个进行比较
for(int k=j+1;k<s.length;k++){
//找到最小值
if (Integer.parseInt(min.substring(0,min.indexOf(".")))>Integer.parseInt(s[k].getName().substring(0,s[k].getName().indexOf(".")))){
//修改最小
min=s[k].getName();
minIndex=k;
}
}
//当退出内层循环就找到这次的最小值
//交换位置
temp = s[j];
s[j]=s[minIndex];
s[minIndex]=temp;
}
return s;
}
public static void main(String[] args){
File file=new File("C:\\Users\\Administrator\\Desktop\\word\\haha\\contract");
File[] fs=sort(file.listFiles());
for(File f:fs){
System.out.println(f.toString());
}
}
结果:
转载请附地址:点击打开链接