Получение списка файлов - PullRequest
1 голос
/ 24 февраля 2010

У меня есть каталог с именем 'import', и я хотел бы получить все файлы и соответствующую им дату (на основе имени файла). Пример содержимого каталога:

  • input_02202010.xls
  • input_02212010.xls
  • input_02222010.xls

Я хотел бы иметь Карту, которая содержит путь к файлу и переменную Date.

Может кто-нибудь показать мне, как Groovy решит это?

1 Ответ

3 голосов
/ 24 февраля 2010

Используйте new File("/foo/bar/import").list(), чтобы получить имена файлов, как в Java. Затем создайте файловые объекты из строк и проверьте lastModified () на дату последней модификации.

EDIT: Groovy добавляет eachFile() методы в java.io.File, мы можем использовать это, чтобы сделать его более привлекательным ...

Чтобы извлечь дату из имени файла, используйте

Date d = new java.text.SimpleDateFormat("MMddyyyy").parse(filename.substring(6,14))

Чтобы превратить все это в карту (используя имя файла в качестве ключа и дату в качестве значения, хотя и избыточное):

def df = new java.text.SimpleDateFormat("MMddyyyy")
def results = [:]
new File("/foo/bar/import").eachFile() { file -> 
   results.put(file.getName(), df.parse(file.getName().substring(6,14)))
}

results
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...