2011-09-20 12 views
29

Quiero nombrar los archivos nuevos creados por mi aplicación Java con la marca de tiempo actual.Marca de tiempo actual como nombre de archivo en Java

Necesito ayuda con esto. ¿Cómo puedo nombrar los nuevos archivos creados con la marca de tiempo actual? ¿Qué clases debería incluir?

+0

¿Qué sucede si se crean múltiples archivos al mismo tiempo? ¿Es este un [problema XY?] (Http://mywiki.wooledge.org/XyProblem) ¿Qué estás * realmente * tratando de hacer? – erickson

Respuesta

94

No hay necesidad de ser demasiado complicado, prueba este forro:

String fileName = new SimpleDateFormat("yyyyMMddHHmm'.txt'").format(new Date()); 
+3

amigo, me encantan las frases sencillas :) +1 –

+0

Bonita línea simple – Janath

+0

agregue "segundos" si no todo el archivo se sobrescribirá si se guardan dentro del mismo minuto ("aaaamMMddHHmmss'.txt") – saigopi

1

Date, SimpleDateFormat y cualquier clase que se requiera en el lado de E/S de las cosas (hay muchas posibilidades).

+0

Aix ya respondió a la pregunta, pero no se olvide de asegurarse de usar solo los caracteres permitidos en todos los sistemas operativos a los que presta servicio. Me refiero a usar SimpleDateFormat. – Kashyap

+0

@aix: mi aplicación crea nuevos archivos cada 30 minutos. Por lo tanto, necesito hora + fecha como el nombre del archivo. intenté esto: 'Patrón de cadena = "mm/dd/aaaa"; Formato SimpleDateFormat = new SimpleDateFormat (patrón); str = format.format (new Date()); ' luego nombré mi archivo como str. ".txt", pero me está dando un error. [Error: 49 \ 20 \ 2011.txt (El sistema no puede encontrar la ruta especificada)]. Además, también necesito la hora actual. Por favor ayuda. – Nerd

2

Use SimpleDateFormat como se sugiere para formatear la hora actual en una cadena. Debe utilizar un formato que no incluye caracteres / etc. Yo sugeriría algo así como yyyyMMddhhmm

+1

esto funcionó. muchas gracias. – Nerd

3

Usted puede obtener la fecha y hora actual anexa con una extensión de archivo de la siguiente manera:

String fileName = new Date().getTime() + '.txt'; 
-1

prueba este

String fileSuffix = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); 
Cuestiones relacionadas