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());
}
}
結果:
轉載請附地址:點擊打開鏈接