Java如何获取文件的基本属性?

在这个例子中,您将学习如何获取文件的基本属性。基本文件属性是许多文件系统共有的属性,由BasicFileAttributes接口定义的强制和可选文件属性组成。

文件的基本属性包括文件的日期时间信息,例如创建时间,上次访问时间,上次修改时间。您还可以检查文件是否是目录,常规文件,符号链接或其他内容。您还可以获取文件的大小。

让我们看看下面的代码片段:

package org.nhooo.example.io;

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;

public class FileAttributesDemo {
    public static void main(String[] args) throws Exception {
        String path = "D:/resources/data.txt";

        Path file = Paths.get(path);
        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());
    }
}

代码段的输出:

creationTime     = 2017-11-28T00:08:55.290206Z
lastAccessTime   = 2017-11-28T00:08:55.290206Z
lastModifiedTime = 2017-11-28T00:08:55.291206Z
isDirectory      = false
isOther          = false
isRegularFile    = true
isSymbolicLink   = false
size             = 574