有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java对文件列表进行排序

如何在Java中列出多个目录的文件

这就是我尝试过的:

ArrayList<File> files = new ArrayList<File>();
for(int x = 0; x < directorys.length; x++) {
    if(directorys[x].isDirectory()) {
        files.addAll(Arrays.asList(directorys[x].listFiles(filter)));
    } 
}

这是可行的,但问题是,它不能将文件完全按字母顺序排列
而不是像这样:(第一个文件夹)1,3,5,(第二个文件夹)2,4,6。但我希望它是这样的:1,2,3,4,5,6
所以我想,它的作用是,它将每个文件夹中的所有文件按正确的顺序排列,但不是将所有文件放在一起
我怎样才能做到这一点


共 (2) 个答案

  1. # 1 楼答案

    您可以在循环之后对文件列表进行排序,如下所示

    files.sort(Comparator.comparing(File::getName));
    
  2. # 2 楼答案

    您可以使用比较器进行排序:

    files.sort((a,b)-> a.getName().compareTo(b.getName()));