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

时间:2013-05-01 09:55:39

标签: android list ftp

我喜欢按FTPFiledate列表进行排序,但我不知道如何执行此操作。

我有以下代码:

FTPFile[] files = ftpClient.listFiles();

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

但是当我在设备上显示它时,它由filename订购。 那么如何通过files订购date

提前致谢!

2 个答案:

答案 0 :(得分: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; }
      }
});

答案 1 :(得分: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());
    } });