3

我喜欢对FTPFile列表进行排序date,但不知道该怎么做。

我有以下代码:

FTPFile[] files = ftpClient.listFiles();

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

但是当我在设备上显示它时,它是由filename. files那么我该如何订购date呢?

提前致谢!

4

2 回答 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; }
      }
});
于 2013-05-01T09:59:48.717 回答
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());
    } });
于 2013-05-01T13:15:37.023 回答