2013-05-01 143 views
3

我喜歡根據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

在此先感謝!

回答

3

獲取日期:

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; } 
     } 
}); 
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()); 
    } }); 
相關問題