2010-12-06 8 views
8

Ich mache einen einfachen Dateibrowser und möchte das letzte Änderungsdatum jeder Datei in einem Verzeichnis abrufen. Wie könnte ich das tun? Ich habe bereits den Namen und den Typ jeder Datei (alle in einem Array gespeichert), aber auch das letzte Änderungsdatum.Abrufen des letzten Änderungsdatums einer Datei in Java

Antwort

12

Wie in den javadocs für java.io.File:

new File("/path/to/file").lastModified()

3

Da Java 7, können Sie 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); 
} 

wo printFileName wie folgt aussehen:

private static void printFileTime(FileTime fileTime) { 
    DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy - hh:mm:ss"); 
    System.out.println(dateFormat.format(fileTime.toMillis())); 
} 

Ausgang:

10/06/2016 - 11:02:41 
+0

Die Antwort ist richtig und gut erklärt, aber bitte die Jungen die lange unmodern und notorisch lästig 'SimpleDateFormat' Klasse zu verwenden, nicht lehren. Verwenden Sie seit Java 8 'FileTime.toInstant()', konvertieren Sie das 'Instant' in' ZonedDateTime' und drucken Sie es entweder aus oder formatieren Sie es mit einem 'DateTimeFormatter'. –

Verwandte Themen