使用Java获取文件的最后修改日期
问题描述:
我正在制作一个基本的文件浏览器,并希望获取目录中每个文件的最后修改日期。我该怎么做?我已经有每个文件的名称和类型(都存储在一个数组中),但也需要最后修改日期。使用Java获取文件的最后修改日期
答
由于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格式化。 – 2018-01-29 10:47:05