扫描文件目录得到文件集合List后排序时需要自定义规则(List集合不能对元素类型为File的进行排序)
核心方法:
Collections.sort(List<T> list, Comparator<? super T> c)
备注:以下还对要扫描的文件进行过滤(即只取txt文件)
File file = new File(filePath);
File[] files = file.listFiles(new TxtFilter());
List<File> sortfiles = Arrays.asList(files);
Collections.sort(sortfiles, new Comparator<File>(){
public int compare(File o1, File o2) {
return o1.getName().compareTo(o2.getName());
}
});
class TxtFilter implements FilenameFilter{
public boolean accept(File filePath, String fileName) {
return isTxt(fileName);
}
boolean isTxt(String fileName){
if(fileName.toLowerCase().endsWith("txt")){
return true;
}
return false;
}
}
后记:compareTo是