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

3

我想对FTPFile列表按日期排序,但不知道该怎么做。

我有以下代码:

FTPFile[] files = ftpClient.listFiles();

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

但是当我在设备上显示这些内容时,它们是按 文件名 排序的。 那么,我该如何按 日期文件 进行排序呢?

提前致谢!

2个回答

3

获取日期:

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

为了进行排序,您需要一个自定义比较器,您可以在这里查阅Android数组排序

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

首先,你可以使用以下代码获取文件的最后修改日期

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接