获取文件的元数据

可以在java中知道文件的元数据吗? 如果是,如何在java中获取文件的元数据?

您可以从文件中获取一组基本元数据。

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

有些东西是平台相关的,我的抛出exception或返回意外的结果。

您可以在管理元数据(文件和文件存储属性)中阅读更多内容。

FITS是一个命令行应用程序,它捆绑了许多可以识别和表征文件的工具(提取元数据)。 它还有一个java API

此外,还有许多识别和表征工具可以执行类似的任务。 阿帕奇Tika,Pronom Droid,Jhove等

从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"))); } } 

使用Java 7,你有了nio2包,新的Path.class提供了你想要的所有东西

使用jquery获取所有元标记: –