Déterminer la date de création du fichier en Java

1. Vue d'ensemble

JDK 7 a introduit la possibilité d'obtenir la date de création d'un fichier.

Dans ce didacticiel, nous allons apprendre comment y accéder via java.nio .

2. Files.getAttribute

Une façon d'obtenir la date de création d'un fichier est d' utiliser la méthode Files.getAttribute avec un Path donné :

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

Le type de creationTime est FileTime , mais du fait que la méthode renvoie Object, nous devons le convertir .

FileTime contient la valeur de date en tant qu'attribut d'horodatage. Par exemple, il peut être converti en Instant avec la méthode toInstant () .

Si le système de fichiers ne stocke pas la date de création du fichier, la méthode retournera null .

3. Files.readAttributes

Une autre façon d'obtenir une date de création est d' utiliser Files.readAttributes qui, pour un chemin donné , renvoie tous les attributs de base d'un fichier à la fois:

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

La méthode renvoie un BasicFileAttributes, que nous pouvons utiliser pour obtenir les attributs de base d'un fichier. La méthode creationTime () renvoie la date de création du fichier sous la forme FileTime .

Cette fois, si le système de fichiers ne stocke pas la date de création d'un fichier, la méthode renverra la date de la dernière modification . Si la dernière date modifiée n'est pas également stockée, l'époque (01.01.1970) sera renvoyée.

4. Conclusion

Dans ce didacticiel, nous avons appris à déterminer la date de création du fichier en Java. Plus précisément, nous avons appris que nous pouvons le faire avec Files.getAttribute et Files.readAttributes .

Comme toujours, le code des exemples est disponible à l'adresse over sur GitHub.