Android的:如何获得通过日期倒序排列按名称排序o一个drectory列表?如何获得、排列、名称、日期

2023-09-06 05:12:16 作者:旧心愿.

我能够做到这一点:

 文件中的图像=新的文件(路径);
    文件[]图像列表= images.listFiles(新的FilenameFilter(){
        公共布尔接受(文件目录,字符串名称)
        {
            返回name.endsWith(JPG);
        }
    });
 

我从计算器的答案抄!

有没有办法来的文件列表确定一种目录(文件夹)和字母顺序列出? ...,用反相日期?

解决方案

 最后文件[] sortedFileName = images.listFiles()

如果(sortedFileName =空&安培;!&安培; sortedFileName.length→1){
        Arrays.sort(sortedFileName,新比较&其中;文件>(){
             @覆盖
             公众诠释比较(文件object1,文件Object2的){
                返回object1.getName()的compareTo(object2.getName())。
             }
    });
}
 

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

编辑: 使用此code按日期排序

 最后文件[] sortedByDate = folder.listFiles();

如果(sortedByDate =空&安培;!&安培; sortedByDate.length→1){
        Arrays.sort(sortedByDate,新比较&其中;文件>(){
             @覆盖
             公众诠释比较(文件object1,文件Object2的){
                返回(int)的((object1.lastModified()> object2.lastModified())object1.lastModified():object2.lastModified());
             }
    });
}
 
谷歌I O大会的时间一大波创意来袭

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());
             }
    });
}