【问题标题】:How to extract file properties in groovy?如何在groovy中提取文件属性?
【发布时间】:2011-05-30 07:27:02
【问题描述】:

我有 gsp,它有表,我需要显示驱动器中每个文件的创建日期时间和最后修改时间。

我不知道如何检索文件属性。任何人都可以回答我。

提前谢谢 拉克斯米.P

【问题讨论】:

    标签: file grails groovy


    【解决方案1】:

    file.lastModified() 的结果是一个 long 我们可以用来构造一个新的 Date 对象。我们可以在 Date 对象上应用格式。可以应用 SimpleDateFormat 的格式化规则。

    new File('.').eachFileRecurse { file ->
        println new Date(file.lastModified()).format('EEE MMM dd hh:mm:ss a yyyy')
    }
    

    【讨论】:

    • 谢谢..我想获取文件创建时间..我尝试使用 file.created() 但它不起作用。
    • Java File API 不提供对创建时间的访问。一个解决方案可以是创建一个进程,执行一个 'dir /tc' 命令并解析创建时间的结果。
    【解决方案2】:

    你可能想要这样的东西:

    new File(path-to-your-directory).eachFileRecurse{file->
    println file.lastModified()
    }
    

    【讨论】:

    • 谢谢它的工作原理..但我想创建文件的时间以及如何获得它。
    • 我最后一次修改为,Wed May 25 14:28:04 GMT+05:30 2011 最后我希望它显示 AM 或 PM 而不是 GMT+ 05:30..如何实现它
    【解决方案3】:

    要访问 Java File API 不支持的属性,我们可以解析“dir”或“ls”命令的输出:

    def file = 'sample.txt'
    def cmd = ['cmd', '/c', 'dir', file, '/tc'].execute()
    cmd.in.eachLine { line ->
        if (line.contains(file)) {
            def created = line.split()[0]
            println "$file is created on $created"
        }
    } 
    

    【讨论】:

    • 我会选择这个,因为我们可以使用 linux 命令 stat 访问时间更改时间和修改时间。
    猜你喜欢
    • 2012-01-01
    • 2016-12-21
    • 2014-01-19
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多