# Java 文件时间教程

原文：http://zetcode.com/articles/javafiletime/

在 Java 文件时间教程中，我们展示了如何使用`Files`和`BasicFileAttributes`确定 Java 中的文件创建，最后修改和最后访问时间。

## 档案

`Files`是 Java 类，其中包含对文件，目录或其他类型的文件进行操作的静态方法。 通常，这些方法将委派给关联的文件系统供应器来执行文件操作。

## `BasicFileAttributes`

`BasicFileAttributes`保留基本文件属性。 这些是许多文件系统共有的属性，由强制性和可选文件属性组成，例如文件创建时间的大小。 通过`Files.readAttributes()`方法检索`BasicFileAttributes`。

## Java 文件创建时间

使用`BasicFileAttributes.creationTime()`方法检索 Java 中的文件创建时间。

`JavaFileLastCreationTime.java`

```java
package com.zetcode;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;

public class JavaFileLastCreationTime {

    public static void main(String[] args) throws IOException {

        String fileName = "/home/janbodnar/world.sql";

        File myfile = new File(fileName);
        Path path = myfile.toPath();

        BasicFileAttributes fatr = Files.readAttributes(path, 
                BasicFileAttributes.class);

        System.out.printf("File creation time: %s%n", fatr.creationTime());
    }
}

```

本示例打印指定文件的创建时间。

```java
File creation time: 2017-06-01T12:48:40Z

```

这是一个示例输出。

## Java 文件的最后修改时间

`BasicFileAttributes.lastModifiedTime()`方法获取 Java 中文件的最后修改时间。

`JavaFileLastModifiedTime.java`

```java
package com.zetcode;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;

public class JavaFileLastModifiedTime {

    public static void main(String[] args) throws IOException {

        String fileName = "/home/janbodnar/world.sql";

        File myfile = new File(fileName);
        Path path = myfile.toPath();

        BasicFileAttributes fatr = Files.readAttributes(path,
                BasicFileAttributes.class);

        System.out.printf("Last modification time: %s%n", fatr.lastModifiedTime());
    }
}

```

本示例打印指定文件的最后修改时间。

```java
Last modification time: 2017-06-01T12:48:40Z

```

This is a sample output.

## Java 文件上次访问时间

使用`BasicFileAttributes.lastAccessTime()`方法检索 Java 中文件的最后访问时间。

`JavaFileLastAccessTime.java`

```java
package com.zetcode;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;

public class JavaFileLastAccessTime {

    public static void main(String[] args) throws IOException {

        String fileName = "/home/janbodnar/world.sql";

        File myfile = new File(fileName);
        Path path = myfile.toPath();

        BasicFileAttributes fatr = Files.readAttributes(path,
                BasicFileAttributes.class);

        System.out.printf("Last access time: %s%n", fatr.lastAccessTime());        
    }
}

```

本示例显示指定文件的最后访问时间。

```java
Last access time: 2017-06-01T12:48:40Z

```

This is a sample output.

在本教程中，我们使用`Files`和`BasicFileAttributes`确定了文件的创建，最后修改和最后访问时间。

您可能也对以下相关教程感兴趣：[Java `FileWriter`教程](/java/filewriter/)，[用 Java 读取文本文件](/articles/javareadtext/)，[Java 附加到图块](/articles/javaappendtofile/)， [Java 文件复制](/java/copyfile/)，[Java 教程](/lang/java/)，[用 Java8 的`StringJoiner`连接字符串](/articles/java8stringjoiner/)，[Java 读取网页](/articles/javareadwebpage/)或 [Google Guava 简介](/articles/guava/)。