Получить время последнего доступа к файлу - PullRequest
13 голосов
/ 28 мая 2009

Я знаю, что с помощью объекта File мы можем получить время последнего изменения для File (т.е. File.lastModified () ). Но мое требование - получить время последнего доступа для File в Java. Как мне это получить?

Ответы [ 2 ]

14 голосов
/ 28 мая 2009

Вам потребуется использовать новый API ввода / вывода файлов (NIO2) , который поставляется с Java 7. У него есть метод lastAccessTime () для чтения времени последнего доступа.

Вот пример использования:

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

Для получения дополнительной информации см. Управление метаданными в руководстве по Java.

4 голосов
/ 28 мая 2009

Вы не можете сделать это с простой Java, вам нужно будет использовать JNI для доступа к данным конкретной платформы, таким как эта, или использовать расширения для базовой библиотеки Java , например, следующие:

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

Или, если у вас есть Java 7, используйте ответ Esko и используйте NIO.

...