获取文件的元数据获取文件的元数据(Get the metadata of a file)

2019-05-16 18:15发布

它可以知道在Java中的文件的元数据? 如果是,如何获得Java中的文件的元数据?

Answer 1:

有一个基本的设置,你可以从一个文件中获取元数据。

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

有些东西是与平台相关的,可能会抛出异常或返回意外的结果。

你可以阅读更多的管理元数据(文件和文件存储的属性) 。



Answer 2:

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

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

也有众多的鉴定和表征工具,可以做类似的任务。 阿帕奇提卡,PRONOM的Droid,Jhove等。



Answer 3:

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


Answer 4:

在Java 7,你有NIO2包,用新的Path.class给所有你正在寻找



文章来源: Get the metadata of a file
标签: java metadata