Me gustaría extraer la fecha en que se creó un archivo jpg. Java tiene el método LastModified para el objeto File, pero parece no proporcionar soporte para extraer la fecha creada del archivo. Creo que la información está almacenada en el archivo, ya que la fecha que veo cuando muevo el puntero del mouse sobre el archivo en Win XP es diferente de lo que puedo obtener al usar JNI con "dir/TC" en el archivo en DOS.Cómo obtener una foto de fecha creada en java
Respuesta
La fecha se almacena en los datos EXIF en el archivo jpeg. Hay un java library y un viewer in java que pueden ser útiles.
Probablemente necesite algo para acceder a los datos de exif. Google sugiere this library.
puedo utilizar esta biblioteca de metadatos: http://www.drewnoakes.com/code/exif/
parece que funciona bastante bien, a pesar de tener en cuenta que no todas las imágenes JPEG tienen esta información, por lo que no puede ser 100% a prueba de tontos.
Si los metadatos EXIF no contienen la fecha de creación, entonces probablemente tendrá que conformarse con el último actualizado de Java - a menos que desee recurrir a Runtime.exec (...) y usar las funciones del sistema para averiguar (¡No lo recomendaría, sin embargo!)
Sí, funcionó para algunos de mis imágenes, y no funcionó para los datos de imagen almacenados en nuestra base de datos. –
El ejemplo de código siguiente pregunta al usuario para una ruta de acceso y salida entonces a la fecha y hora de creación:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(final String[] args) {
try {
// get runtime environment and execute child process
Runtime systemShell = Runtime.getRuntime();
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter filename: ");
String fname=(String)br1.readLine();
Process output = systemShell.exec("cmd /c dir /a "+fname);
// open reader to get output from process
BufferedReader br = new BufferedReader (new InputStreamReader(output.getInputStream()));
String out="";
String line = null;
int step=1;
while((line = br.readLine()) != null)
{
if(step==6)
{
out=line;
}
step++;
} // display process output
try{
out=out.replaceAll(" ","");
System.out.println("CreationDate: "+out.substring(0,10));
System.out.println("CreationTime: "+out.substring(10,15));
}
catch(StringIndexOutOfBoundsException se)
{
System.out.println("File not found");
}
}
catch (IOException ioe){ System.err.println(ioe); }
catch (Throwable t) { t.printStackTrace();}
}
}
Gracias por el fragmento de código, pero en realidad necesito obtener la fecha de los metadatos de la imagen , no del sistema de archivos. – user16029
Esto solo funcionará para Windows, también – ScrappyDev
- 1. Obtener foto de perfil de una página
- 2. ¿Cómo obtener una foto de perfil de Facebook en https?
- 3. Google API: Obtener una foto de contactos
- 4. ¿Cómo obtener la última foto en la biblioteca de iPhone?
- 5. Cómo agregar una columna "creada en" en una tabla
- 6. Tratando de conseguir una lista de archivos en un directorio por fecha creada usando LINQ
- 7. Intento de inicializar una clase creada por Scala en Java
- 8. Cómo obtener una foto de perfil de Facebook desde una dirección de correo electrónico
- 9. Appengine - Reportlab (Obtener foto del modelo)
- 10. Java: clases JPA, refactorización de Fecha de Fecha y hora
- 11. Java - ¿Cómo obtener la fecha actual independiente de la fecha del sistema?
- 12. Cómo guardar una foto raw_data con paperclip
- 13. Cómo mapear tabla creada dinámicamente en Hibernate?
- 14. Agregar días a una fecha en Java
- 15. Obtener foto de perfil de usuario por Id
- 16. Cómo obtener la hora del sistema en Java sin crear una nueva Fecha
- 17. Cómo establecer una fecha/obtener una fecha para Datepicker en codebehind
- 18. Fecha de serialización en Java
- 19. ¿Cómo obtener una "foto policial" de los cuadros de detección de rostros?
- 20. T-SQL (fecha): ¿cómo obtener valor en una hora?
- 21. Analizando una fecha de java desde toString()
- 22. necesita para obtener fecha y hora actual en Java
- 23. cómo obtener excel para tratar una fecha como una fecha no una cadena al hacer CopyFromRecordset
- 24. ¿Cómo mostramos una foto de la API de Java de Picasa?
- 25. Obtener la fecha de ayer usando Fecha
- 26. Tomando una foto y geoetiquetándola
- 27. ¿Cómo puedo obtener horas de una fecha de Python?
- 28. ¿Cómo puedo saber cuándo se tomó una foto en C# corriendo en Vista?
- 29. Cómo simular una nueva Fecha() en Java usando Mockito
- 30. Cómo convertir JavaScript Fecha a Fecha en Java?
¡Genial! ¡Gracias por todos los útiles comentarios! Creo que usaré la biblioteca en drewnoakes.com. – user16029
El formato de archivo de imagen intercambiable (oficialmente Exif, ** no EXIF ** según las especificaciones JEIDA/JEITA/CIPA) es un estándar que ... –