【转】java对File.listFiles()排序

java对File.listFiles()排序

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站

转载地址:点击打开链接

最近公司要做文件打包 由于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());
		}
	}

结果:

转载请附地址:点击打开链接

posted @ 2020-05-13 11:43  WUST许志伟  阅读(3552)  评论(0编辑  收藏  举报