Определете датата на създаване на файл в Java

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 с метода toInstant () .

Ако файловата система не съхранява датата на създаване на файла, тогава методът ще върне null .

3. Files.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.