Android:如何按日期对FTPFile []文件列表进行排序?

问题描述:

我喜欢根据date排序FTPFile列表,不知道我该如何做到这一点。Android:如何按日期对FTPFile []文件列表进行排序?

我有以下代码:

FTPFile[] files = ftpClient.listFiles(); 

for (FTPFile file : files) { 
    imageUrls.add("http://XXXXXXX/xx/xx/" + file.getName()); 
    imageNames.add(file.getName()); 
} 

但是,当我显示此设备上它是由filename订购。 那么我怎样才能订购filesdate

在此先感谢!

获取日期:

Date lastModDate = new Date(file.lastModified()); 
Log.i("File last modified @ : "+ lastModDate.toString()); 

进行排序,你会需要一个自定义的比较,你可以在这里Android sort array

Arrays.sort(files, new Comparator<file>() { 
     @Override 
     public int compare(File file1, File file2) { 
      if (file1.lastModified() > file2.lastModified()) { return 1; } 
      else if (file1.lastModified() < file2.lastModified()) { return -1; } 
      else { return 0; } 
     } 
}); 

首先读了,你可以用一个文件获取last modified日期

File file = new File(filePath); 
Date lastModDate = new Date(file.lastModified()); 
Log.i("File last modified @ : "+ lastModDate.toString()); 

然后,

FTPFile[] files = ftpClient.listFiles(); 

Arrays.sort(files, new Comparator<File>(){ 
    public int compare(File f1, File f2) 
    { 
     return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified()); 
    } });