15

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

4

2 回答 2

17

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

这是一个使用示例:

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

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

于 2009-05-28T11:02:22.587 回答
4

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

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

或者,如果您有 Java 7,请使用 Esko 的答案并使用 NIO。

于 2009-05-28T10:56:58.310 回答