Android 实现文件夹排序功能的实例代码
按文件名排序
/** *按文件名排序 *@paramfilePath */ publicstaticArrayListorderByName(StringfilePath){ ArrayList FileNameList=newArrayList (); Filefile=newFile(filePath); File[]files=file.listFiles(); ListfileList=Arrays.asList(files); Collections.sort(fileList,newComparator (){ @Override publicintcompare(Fileo1,Fileo2){ if(o1.isDirectory()&&o2.isFile()) return-1; if(o1.isFile()&&o2.isDirectory()) return1; returno1.getName().compareTo(o2.getName()); } }); for(Filefile1:files){ if(file1.isDirectory()){ FileNameList.add(file1.getName()); } } returnFileNameList; }
基于名称:
/** *按文件名排序 *@paramfilePath */ publicstaticArrayListorderByName(StringfilePath){ ArrayList FileNameList=newArrayList (); Filefile=newFile(filePath); File[]files=file.listFiles(); ListfileList=Arrays.asList(files); Collections.sort(fileList,newComparator (){ @Override publicintcompare(Fileo1,Fileo2){ if(o1.isDirectory()&&o2.isFile()) return-1; if(o1.isFile()&&o2.isDirectory()) return1; returno1.getName().compareTo(o2.getName()); } }); for(Filefile1:files){ if(file1.isDirectory()){ FileNameList.add(file1.getName()); } } returnFileNameList; }
基于最近修改时间:
/** *按文件修改时间排序 *@paramfilePath */ publicstaticArrayListorderByDate(StringfilePath){ ArrayList FileNameList=newArrayList (); Filefile=newFile(filePath); File[]files=file.listFiles(); Arrays.sort(files,newComparator (){ publicintcompare(Filef1,Filef2){ longdiff=f1.lastModified()-f2.lastModified(); if(diff>0) return1; elseif(diff==0) return0; else return-1;//如果if中修改为返回-1同时此处修改为返回1排序就会是递减 } publicbooleanequals(Objectobj){ returntrue; } }); for(Filefile1:files){ if(file1.isDirectory()){ FileNameList.add(file1.getName()); } } returnFileNameList; }
基于大小:
/** *按文件大小排序 *@paramfilePath */ publicstaticArrayListorderBySize(StringfilePath){ ArrayList FileNameList=newArrayList (); Filefile=newFile(filePath); File[]files=file.listFiles(); List fileList=Arrays.asList(files); Collections.sort(fileList,newComparator (){ publicintcompare(Filef1,Filef2){ longs1=getFolderSize(f1); longs2=getFolderSize(f2); longdiff=s1-s2; if(diff>0) return1; elseif(diff==0) return0; else return-1;//如果if中修改为返回-1同时此处修改为返回1排序就会是递减 } publicbooleanequals(Objectobj){ returntrue; } }); for(Filefile1:files){ if(file1.isDirectory()){ FileNameList.add(file1.getName()); } } returnFileNameList; } /** *获取文件夹大小 *@paramfileFile实例 *@returnlong */ publicstaticlonggetFolderSize(Filefile){ longsize=0; try{ java.io.File[]fileList=file.listFiles(); for(inti=0;i 总结
以上所述是小编给大家介绍的Android实现文件夹排序功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。