Get the metadata of a file

2019-01-09 09:35发布

It is possible to know the metadata of a file in java? and if it is, How to get the metadata of a file in java?

标签: java metadata
4条回答
我只想做你的唯一
2楼-- · 2019-01-09 09:52

With Java 7 you have nio2 package, with new Path.class giving all you are looking for

查看更多
Emotional °昔
3楼-- · 2019-01-09 10:01

Get file Metadata from java program

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")));
   }
}
查看更多
成全新的幸福
4楼-- · 2019-01-09 10:05

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 my throw exceptions or return unexpected results.

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

查看更多
做个烂人
5楼-- · 2019-01-09 10:10

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

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

查看更多
登录 后发表回答