【发布时间】:2011-05-20 18:38:33
【问题描述】:
我正在制作一个基本的文件浏览器,并希望获取目录中每个文件的最后修改日期。我该怎么做?我已经有了每个文件的名称和类型(都存储在一个数组中),但也需要最后修改日期。
【问题讨论】:
我正在制作一个基本的文件浏览器,并希望获取目录中每个文件的最后修改日期。我该怎么做?我已经有了每个文件的名称和类型(都存储在一个数组中),但也需要最后修改日期。
【问题讨论】:
如在 java.io.File 的 javadocs 中:
new File("/path/to/file").lastModified()
【讨论】:
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
【讨论】:
SimpleDateFormat类。相反,从 Java 8 开始,使用FileTime.toInstant(),将Instant 转换为ZonedDateTime,然后直接打印或使用DateTimeFormatter 格式化。