使用Java获取文件的上次修改日期

Sup*_*tar 16 java browser date file

我正在制作一个基本的文件浏览器,并希望获取目录中每个文件的最后修改日期.我怎么能这样做?我已经有了每个文件的名称和类型(都存储在数组中),但也需要最后修改日期.

icy*_*com 24

如在javadocs中java.io.File:

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


ROM*_*eer 11

从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);
}
Run Code Online (Sandbox Code Playgroud)

在哪里printFileName可以看起来像这样:

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

输出:

10/06/2016 - 11:02:41
Run Code Online (Sandbox Code Playgroud)

  • 答案是正确的并且得到了很好的解释,但请不要教年轻人使用长期过时和臭名昭着的`SimpleDateFormat`类.相反,从Java 8开始,使用`FileTime.toInstant()`,将`Instant`转换为`ZonedDateTime`,只需打印它或使用`DateTimeFormatter`格式化它. (6认同)