Не могу отсортировать файлы по дате с помощью отличного скрипта - PullRequest
0 голосов
/ 10 мая 2019

У меня есть каталог (jars) со многими файлами .jar с разной датой создания. Я пытался отсортировать по дате по возрастанию / по убыванию, используя следующий код, но не работает.

Jar=[]
Date createdDate = new Date()
path = "/home/users/DIT/jars/"
new File(path).eachFileMatch(~/.*.jar/) {
      Jar.add(it.getName())
}  

return Jar.sort{it.createdDate}

Я пробовал это, нони один из них не работает нормально:

  • return Jar.sort{it.createdDate} // нет сортировки по дате
  • return Jar.sort{-it.createdDate} // нет сортировки по дате
  • return Jar.sort{createdDate} //сортировка только по дате 1 файл (последняя измененная банка), а остальные - в случайном порядке
  • return Jar.sort{ a,b -> b.lastModified() <=> a.lastModified() } // нет сортировки по дате
  • return Jar.sort{a,b-> b.createdDate<=>a.createdDate}} // нет сортировки по дате

1 Ответ

1 голос
/ 10 мая 2019

нет свойства createdDate для объекта File

, однако есть метод lastModified()

, поэтому это должно работать:

Jar=[]
path = "/11/server/wso2ei-6.3.0/lib/"
new File(path).eachFileMatch(~/.*.jar/) {
      Jar.add(it)
}  

return Jar.sort{it.lastModified()}

если вы хотите вернуть только имена:

return Jar.sort{it.lastModified()}.collect{it.name}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...