Je crée un navigateur de fichiers de base et souhaite obtenir la dernière date de modification de chaque fichier dans un répertoire. Comment pourrais-je faire ça? J'ai déjà le nom et le type de chaque fichier (tous stockés dans un tableau), mais j'ai aussi besoin de la dernière date de modification.Obtention de la dernière date de modification d'un fichier en Java
8
A
Répondre
12
Comme dans les javadocs pour java.io.File
:
new File("/path/to/file").lastModified()
3
Depuis Java 7, vous pouvez utiliser java.nio.file.Files.getLastModifiedTime(Path path)
:
Path path = Paths.get("C:\\1.txt");
FileTime fileTime;
try {
fileTime = Files.getLastModifiedTime(path);
printFileTime(fileTime);
} catch (IOException e) {
System.err.println("Cannot get the last modified time - " + e);
}
où printFileName
peut ressembler à ceci:
private static void printFileTime(FileTime fileTime) {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy - hh:mm:ss");
System.out.println(dateFormat.format(fileTime.toMillis()));
}
sortie:
10/06/2016 - 11:02:41
La réponse est correcte et bien expliqué, mais s'il vous plaît ne pas enseigner les jeunes à utiliser la longue démodées et notoirement gênants classe 'SimpleDateFormat'. Au lieu de cela, depuis Java 8, utilisez 'FileTime.toInstant()', convertissez 'Instant' en' ZonedDateTime' et imprimez-le ou formatez-le en utilisant 'DateTimeFormatter'. –