在实际开发中,往往会吧数据定义成类,然后利用集合来存储多条数据,对集合的内容进行排序则变得比较重要。
以D:/download 文件夹下的内容为例
//排序
public void showFiles(){
String path="D:/Download";
//获取根目录
File f = new File(path);
//获取子列表
File[] fs = f.listFiles();
ArrayList<File> files = new ArrayList<>();
//转存到集合
Collections.addAll(files,fs);
//定义排序
Collections.sort(files,new Comparator<File>(){
@Override
public int compare(File f0,File f1){
if(f0.isDirectory()){
if(f1.isDirectory()){
return f0.getName().compareToIgnoreCase(f1.getName());
}else{
return -1;
}
}else if(f1.isDirectory()){
return 1;
}else{
return f0.getName().compareToIgnoreCase(f1.getName());
}
}
});
for(File fi : files){
System.out.println(fi.getPath()+"--"+fi.getName());
}
}
可以根据实际需要变更参考值。