2010-12-06 141 views
8

我正在製作一個基本的文件瀏覽器,並希望獲取目錄中每個文件的最後修改日期。我該怎麼做?我已經有每個文件的名稱和類型(都存儲在一個數組中),但也需要最後修改日期。使用Java獲取文件的最後修改日期

回答

12

如JavaDoc爲java.io.File

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

3

由於Java 7,您可以使用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); 
} 

其中printFileName可以是這樣的:

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

輸出

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

答案是正確的,很好的解釋,但請不要教年輕的使用長過時和臭名昭著的麻煩`SimpleDateFormat`類。相反,從Java 8開始,使用`FileTime.toInstant()`,將`Instant`轉換爲`ZonedDateTime`,並打印或使用DateTimeFormatter格式化。 – 2018-01-29 10:47:05

相關問題