Obtener los metadatos de un archivo

¿Es posible conocer los metadatos de un archivo en Java? y si lo es, ¿cómo obtener los metadatos de un archivo en Java?

Hay un conjunto básico de metadatos que puede obtener de un archivo.

Path file = ...; BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); System.out.println("creationTime: " + attr.creationTime()); System.out.println("lastAccessTime: " + attr.lastAccessTime()); System.out.println("lastModifiedTime: " + attr.lastModifiedTime()); System.out.println("isDirectory: " + attr.isDirectory()); System.out.println("isOther: " + attr.isOther()); System.out.println("isRegularFile: " + attr.isRegularFile()); System.out.println("isSymbolicLink: " + attr.isSymbolicLink()); System.out.println("size: " + attr.size()); 

Algunas cosas dependen de la plataforma y arrojan excepciones o devuelven resultados inesperados.

Puede leer más en Gestión de Metadatos (Atributos de File and File Store) .

FITS es una aplicación de línea de comandos que agrupa muchas herramientas que pueden identificar y caracterizar archivos (extraer metadatos). También tiene una API java

También hay numerosas herramientas de identificación y caracterización que pueden realizar tareas similares. Apache Tika, Pronom Droid, Jhove, etc.

Obtener metadatos de archivos del progtwig java

 package demo.test; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributeView; import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.FileTime; import java.text.SimpleDateFormat; public class FileCreationTime { public String getCreationDetails(File file) { try{ Path p = Paths.get(file.getAbsolutePath()); BasicFileAttributes view = Files.getFileAttributeView(p, BasicFileAttributeView.class) .readAttributes(); FileTime fileTime=view.creationTime(); return (""+new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format((fileTime.toMillis()))); } catch(IOException e){ e.printStackTrace(); } return ""; } public static void main(String...str){ System.out.println (new FileCreationTime().getCreationDetails(new File("D:/connect.png"))); } } 

Con Java 7 tienes el paquete nio2 , con el nuevo Path.class que te da todo lo que estás buscando

Obtener todas las tags meta usando jquery: –