安卓:如何获得一个按名称或按日期降序排列的目录清单?[英] Android: how get a drectory list ordered by name o by date descending?

本文是小编为大家收集整理的关于安卓:如何获得一个按名称或按日期降序排列的目录清单?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我能做到这一点:

    File images = new File(path);  
    File[] imageList = images.listFiles(new FilenameFilter(){  
        public boolean accept(File dir, String name)  
        {  
            return name.endsWith(".jpg");
        }  
    });

我从stackoverflow的答案复制!

有没有办法列出ok种类型"目录"(文件夹)并按反向字母顺序列出? ......并通过反向日期?

推荐答案

final File[] sortedFileName = images.listFiles()

if (sortedFileName != null && sortedFileName.length > 1) {
        Arrays.sort(sortedFileName, new Comparator<File>() {
             @Override
             public int compare(File object1, File object2) {
                return object1.getName().compareTo(object2.getName());
             }
    });
}

使用Array.sort()来比较文件的名称.

编辑: 使用此代码按日期排序

final File[] sortedByDate = folder.listFiles();

if (sortedByDate != null && sortedByDate.length > 1) {
        Arrays.sort(sortedByDate, new Comparator<File>() {
             @Override
             public int compare(File object1, File object2) {
                return (int) ((object1.lastModified() > object2.lastModified()) ? object1.lastModified(): object2.lastModified());
             }
    });
}

本文地址:https://www.itbaoku.cn/post/102306.html

问题描述

I'm able to do this:

    File images = new File(path);  
    File[] imageList = images.listFiles(new FilenameFilter(){  
        public boolean accept(File dir, String name)  
        {  
            return name.endsWith(".jpg");
        }  
    });

I copied from an answer of stackoverflow !

Is there a way to listFile ok kind "directory" (folder) and to list by reverse alphabetical order ? ... And by reverse date ?

推荐答案

final File[] sortedFileName = images.listFiles()

if (sortedFileName != null && sortedFileName.length > 1) {
        Arrays.sort(sortedFileName, new Comparator<File>() {
             @Override
             public int compare(File object1, File object2) {
                return object1.getName().compareTo(object2.getName());
             }
    });
}

Use Array.sort() to compare the name of the files.

Edit: Use this code to sort by date

final File[] sortedByDate = folder.listFiles();

if (sortedByDate != null && sortedByDate.length > 1) {
        Arrays.sort(sortedByDate, new Comparator<File>() {
             @Override
             public int compare(File object1, File object2) {
                return (int) ((object1.lastModified() > object2.lastModified()) ? object1.lastModified(): object2.lastModified());
             }
    });
}
相关标签/搜索