Перейти к основному содержимому

Определить дату создания файла в Java

· 2 мин. чтения

1. Обзор

В JDK 7 появилась возможность получить дату создания файла.

В этом уроке мы узнаем, как получить к нему доступ через java.nio .

2. Файлы.getAttribute

Один из способов получить дату создания файла — использовать метод Files.getAttribute с заданным Path :

try {
FileTime creationTime = (FileTime) Files.getAttribute(path, "creationTime");
} catch (IOException ex) {
// handle exception
}

Тип createTimeFileTime , но из-за того, что метод возвращает Object, мы должны его привести .

FileTime содержит значение даты в качестве атрибута метки времени. Например, его можно преобразовать в Instant с помощью метода toInstant() .

Если файловая система не хранит дату создания файла, метод вернет значение null .

3. Файлы.readAttributes

Другой способ получить дату создания — Files.readAttributes , который для заданного пути сразу возвращает все основные атрибуты файла:

try {
BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
FileTime fileTime = attr.creationTime();
} catch (IOException ex) {
// handle exception
}

Метод возвращает BasicFileAttributes, которые мы можем использовать для получения основных атрибутов файла. Метод createTime () возвращает дату создания файла как FileTime .

На этот раз, если файловая система не хранит дату создания файла, метод вернет дату последнего изменения . Если дата последнего изменения также не сохраняется, то будет возвращена эпоха (01.01.1970).

4. Вывод

В этом уроке мы узнали, как определить дату создания файла в Java. В частности, мы узнали, что можем сделать это с помощью Files.getAttribute и Files.readAttributes .

Как всегда, код для примеров доступен на GitHub .