Get the Last Access Time for a File

2019-01-09 06:33发布

I know that using File object we can get the last modified time for a File (i.e. File.lastModified()). But, my requirement is to get the last accessed time for a File in Java. How do I get it?

2条回答
Melony?
2楼-- · 2019-01-09 07:18

You will need to use the new file I/O API (NIO2) which comes with Java 7. It has a method lastAccessTime() for reading the last access time.

Here is a usage example:

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

For more information see Managing Metadata in the Java Tutorial.

查看更多
成全新的幸福
3楼-- · 2019-01-09 07:34

You can't do it with plain Java, you'll need to use JNI to access the platform specific data such as this or use extensions to the core Java library like the following:

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

Or, if you have Java 7, go with Esko's answer and use NIO.

查看更多
登录 后发表回答