文件在 Java 中的最后修改时间

原文:https://www.studytonight.com/java-examples/files-last-modified-time-in-java

在这篇文章中,我们将使用 Java 代码获取文件的最后修改时间。上次修改时间表示上次文件更新的时间。

Java 提供lastModified()getLastModifiedTime()等内置方法获取文件上次更新时间。我们可以使用 java.io 包的File类或者 java.nio 包的Files类。您可以自行决定使用哪个软件包。

lastModified()方法属于File类,返回一个时间。而getLastModifiedTime()方法属于Files类,以Long类型返回时间,可以进一步转换为日期时间。

举例时间:

让我们创建一个示例来获取文件的最后修改时间。这里,我们使用的是 File 类的lastModified()方法,它以Long类型返回时间,所以我们需要显式地将其转换为时间,就像我们在下面的例子中所做的那样。

import java.io.File;
import java.io.IOException;
import java.time.Instant;
public class Main {
    public static void main(String[] args) throws IOException{
        try {
        File file = new File("abc.txt");
        long time  = file.lastModified();  // file modified time
        System.out.println(time);
        // Convert long time to date time
        System.out.println(Instant.ofEpochMilli(time));
        }catch(Exception e) {
            System.out.println(e);
        }
    }
}

1592912186419 2020-06-23t 11:36:26.419 z

另一个例子的时间:

让我们举另一个例子来获得文件的最后修改时间。这里我们使用的是Files类的getLastModifiedTime()方法,返回带有日期的时间。见下面的例子。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
public class Main {
    public static void main(String[] args) throws IOException{
        try {
            Path path = Paths.get("abc.txt");
            FileTime time  = Files.getLastModifiedTime(path);  // file modified time
            System.out.println("Last modified time of the file:");
            System.out.println(time);
        }catch(Exception e) {
            System.out.println(e);
        }
    }
}

文件上次修改时间: 2020-06-23T11:36:26.419959Z