我有一个名为'import'的目录,想要获取所有文件及其相应的日期(基于文件名)。目录的示例内容是:
我想要一个包含文件路径和Date变量的Map。
有谁能告诉我Groovy将如何解决这个问题?
答案 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