我喜欢按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
?
提前致谢!
答案 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());
} });