2011-05-30 6 views
11

Tengo gsp que tiene una tabla y necesito mostrar la fecha de la hora creada y la hora de la última modificación de cada archivo que está en la unidad.¿Cómo extraer propiedades de archivos en groovy?

No obtengo cómo recuperar las propiedades del archivo. Cualquier cuerpo puede responderme.

antemano gracias laxmi.P

Respuesta

12

El resultado de file.lastModified() es mucho que podemos utilizar para construir un nuevo objeto Date. Podemos aplicar formato al objeto Date. Las reglas de formato de SimpleDateFormat se pueden aplicar.

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

Gracias ... quiero obtener el tiempo de archivo creado ... intenté con file.created() pero no funciona. – laxmi

+0

La API de archivos de Java no proporciona acceso a la hora de creación. Una solución puede ser crear un proceso, ejecutar un comando 'dir /tc' y analizar el resultado para el tiempo de creación. – mrhaki

4

es probable que desee algo como:

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

gracias works..but que quiero creado tiempo de archivo también cómo obtenerlo. – laxmi

+0

Me han modificado por última vez como, ** mié 25 de mayo 14:28:04 GMT + 05: 30 2011 ** al final quiero que muestre AM o PM en lugar de GMT + 05: 30..cómo lograrlo – laxmi

5

para obtener acceso a las propiedades no son compatibles con la API de archivos de Java podemos analizar la salida de un 'dir' comando '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" 
    } 
} 
+0

increíble solución, mrhaki! – Tomato

+0

, optaría por este, ya que podemos acceder al tiempo de cambio de hora y modificar el tiempo con el comando linux stat. – Toumi

Cuestiones relacionadas