2010-12-06 139 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

相关问题