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. Google API: Obtener una foto de contactos
- 3. ¿Cómo obtener la última foto en la biblioteca de iPhone?
- 4. Cómo agregar una columna "creada en" en una tabla
- 5. Tratando de conseguir una lista de archivos en un directorio por fecha creada usando LINQ
- 6. Intento de inicializar una clase creada por Scala en Java
- 7. Appengine - Reportlab (Obtener foto del modelo)
- 8. Cómo guardar una foto raw_data con paperclip
- 9. Obtener foto de perfil de usuario por Id
- 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 mapear tabla creada dinámicamente en Hibernate?
- 13. Agregar días a una fecha en Java
- 14. ¿Cómo obtener una "foto policial" de los cuadros de detección de rostros?
- 15. Cómo obtener la hora del sistema en Java sin crear una nueva Fecha
- 16. Tomando una foto y geoetiquetándola
- 17. Cómo establecer una fecha/obtener una fecha para Datepicker en codebehind
- 18. ¿Cómo mostramos una foto de la API de Java de Picasa?
- 19. Fecha de serialización en Java
- 20. T-SQL (fecha): ¿cómo obtener valor en una hora?
- 21. ¿Cómo puedo saber cuándo se tomó una foto en C# corriendo en Vista?
- 22. Editar imagen después de tomar una foto
- 23. Analizando una fecha de java desde toString()
- 24. Obteniendo una foto de un contacto
- 25. necesita para obtener fecha y hora actual en Java
- 26. cómo obtener excel para tratar una fecha como una fecha no una cadena al hacer CopyFromRecordset
- 27. Obtener la fecha de ayer usando Fecha
- 28. ¿Cómo obtengo la URL de la foto al leer las publicaciones de un usuario y me gusta una foto?
- 29. Django: ¿cómo puedo mostrar una foto guardada en ImageField?
- 30. ¿Cómo puedo obtener horas de una fecha de Python?
¡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 ... –