获取文件列表

时间:2010-02-24 08:52:28

标签: grails groovy

我有一个名为'import'的目录,想要获取所有文件及其相应的日期(基于文件名)。目录的示例内容是:

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

我想要一个包含文件路径和Date变量的Map。

有谁能告诉我Groovy将如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

使用new File("/foo/bar/import").list()获取文件名,就像在Java中一样。然后从字符串创建文件对象,并检查lastModified()以获取最后修改日期。

编辑: 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