获取文件的上次访问时间

2022-09-03 13:49:25

我知道使用对象我们可以获得一个的上次修改时间(即File.lastModified())。但是,我的要求是在Java中获取最后一次访问的时间。我如何获得它?FileFileFile


答案 1

您需要使用 Java 7 附带的新文件 I/O API (NIO2)。它有一个方法 lastAccessTime() 用于读取上次访问时间。

下面是一个用法示例:

Path file = ...
BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class);
FileTime time = attrs.lastAccessTime();

有关更多信息,请参见 Java 教程中的管理元数据


答案 2

你不能用普通的Java来做到这一点,你需要使用JNI来访问平台特定的数据,比如这个,或者使用核心Java库的扩展,如下所示:

javaxt.io.File file = new javaxt.io.File("path");
file.getLastAccessTime();

或者,如果你有Java 7,那就按照Esko的答案使用NIO。