Get the metadata of a file

There is a basic set of metadata that you can get from a file.

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());

Some things are platform dependent and may throw exceptions or return unexpected results.

You can read more at Managing Metadata (File and File Store Attributes).


FITS is a command line app that bundles many tools that can identify and characterize files (extract metadata). It also has a java API

  • http://code.google.com/p/fits/
  • http://code.google.com/p/fits/wiki/developer_documentation

Also there are numerous identification and characterization tools that can do similar tasks. Apache Tika, Pronom Droid, Jhove, etc.

Tags:

Java

Metadata