在Java中获取文件的最后修改日期
Posted
技术标签:
【中文标题】在Java中获取文件的最后修改日期【英文标题】:Getting the last modified date of a file in Java 【发布时间】:2011-05-20 18:38:33 【问题描述】:我正在制作一个基本的文件浏览器,并希望获取目录中每个文件的最后修改日期。我该怎么做?我已经有了每个文件的名称和类型(都存储在一个数组中),但也需要最后修改日期。
【问题讨论】:
【参考方案1】:如在 java.io.File
的 javadocs 中:
new File("/path/to/file").lastModified()
【讨论】:
【参考方案2】: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
格式化。以上是关于在Java中获取文件的最后修改日期的主要内容,如果未能解决你的问题,请参考以下文章