Вы можете получить время последней модификации, используя метод File.lastModified (). Мое предлагаемое решение состояло бы в том, чтобы реализовать пользовательский Comparator, который сортирует в lastModified () - порядке и вставить все файлы в каталоге в TreeSet, который сортирует, используя этот компаратор.
Не проверенный пример:
SortedSet<File> modificationOrder = new TreeSet<File>(new Comparator<File>() {
public int compare(File a, File b) {
return (int) (a.lastModified() - b.lastModified());
}
});
for (File file : myDir.listFiles()) {
modificationOrder.add(file);
}
File last = modificationOrder.last();
Решение, предложенное Bozho, вероятно, быстрее, если вам нужен только последний файл. С другой стороны, это может быть полезно, если вам нужно сделать что-то более сложное.