В Java мы можем использовать Files.readAttributes()
для получения метаданных или атрибута файла, а затем LastModifiedTime()
для отображения даты последнего изменения файла.
Path file = Paths.get("/home/mkyong/file.txt"); BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); System.out.println("lastModifiedTime: " + attr.lastModifiedTime());
1. Атрибуты базового файла (NIO)
В этом примере используется java.nio. *
для отображения атрибутов файла или метаданные – время создания, время последнего доступа и время последнего изменения.
package com.mkyong.io.howto; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; public class GetLastModifiedTime1 { public static void main(String[] args) { String fileName = "/home/mkyong/file.txt"; try { Path file = Paths.get(fileName); BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); System.out.println("creationTime: " + attr.creationTime()); System.out.println("lastAccessTime: " + attr.lastAccessTime()); System.out.println("lastModifiedTime: " + attr.lastModifiedTime()); } catch (IOException e) { e.printStackTrace(); } } }
Выход
creationTime: 2020-07-20T09:29:54.627222Z lastAccessTime: 2020-07-21T12:15:56.699971Z lastModifiedTime: 2020-07-20T09:29:54.627222Z
Атрибут BasicFileAttributes
также работает для каталога, и мы можем использовать тот же код для отображения времени последнего изменения каталога.
Дальнейшее чтение Прочитайте этот пример, чтобы преобразовать файловое время в другой формат даты и времени .
2. Файл.LastModified (устаревший ввод-вывод)
Для устаревшего ввода-вывода мы можем использовать File.LastModified()
, чтобы получить время последнего изменения; метод возвращает длинное значение, измеренное в миллисекундах с момента [эпохи](https://en.wikipedia.org/wiki/Epoch_ (вычисления). Мы можем использовать SimpleDateFormat
, чтобы сделать его более удобочитаемым форматом.
package com.mkyong.io.howto; import java.io.File; import java.text.SimpleDateFormat; public class GetLastModifiedTime2 { public static void main(String[] args) { String fileName = "/home/mkyong/test"; File file = new File(fileName); System.out.println("Before Format : " + file.lastModified()); SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); System.out.println("After Format : " + sdf.format(file.lastModified())); } }
Выход
Before Format : 1595237394627 After Format : 07/20/2020 17:29:54
Скачать Исходный Код
$клон git $клон git
$cd java-ввод-вывод
Рекомендации
- Управление метаданными Файлов
- Википедия – Эпоха времени
- Как отформатировать файловое время в Java
Оригинал: “https://mkyong.com/java/how-to-get-the-file-last-modified-date-in-java/”