1. Обзор
В JDK 7 появилась возможность получить дату создания файла.
В этом уроке мы узнаем, как получить к нему доступ через java.nio .
2. Files.getAttribute
Один из способов получить дату создания файла – использовать метод Files.getAttribute с заданным Путем :
try { FileTime creationTime = (FileTime) Files.getAttribute(path, "creationTime"); } catch (IOException ex) { // handle exception }
Тип CreationTime – это FileTime , но из-за того, что метод возвращает Объект, мы должны привести его .
FileTime содержит значение даты в качестве атрибута метки времени. Например, он может быть преобразован в Instant с помощью метода to Instant () .
Если файловая система не хранит дату создания файла, то метод вернет null .
3. Файлы.Атрибуты чтения
Другой способ получить дату создания-с помощью Files.readAttributes , который для заданного Пути возвращает все основные атрибуты файла сразу:
try { BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class); FileTime fileTime = attr.creationTime(); } catch (IOException ex) { // handle exception }
Метод возвращает атрибуты BasicFileAttributes, которые мы можем использовать для получения основных атрибутов файла. Метод creation Time() возвращает дату создания файла как File Time .
На этот раз, если файловая система не хранит дату создания файла, то метод вернет дату последнего изменения . Если дата последнего изменения также не сохранена, то будет возвращена эпоха (01.01.1970).
4. Заключение
В этом уроке мы узнали, как определить дату создания файла в Java. В частности, мы узнали, что можем сделать это с помощью Files.getAttribute и Files.readAttributes .
Как всегда, код для примеров доступен на GitHub .