在Java中确定文件创建日期

2023/05/29

1. 概述

JDK 7引入了获取文件创建日期的功能。

在本教程中,我们将学习如何通过java.nio访问它。

2. Files.getAttribute

获取文件创建日期的一种方法是使用方法Files.getAttribute和给定的Path:

try {
    FileTime creationTime = (FileTime) Files.getAttribute(path, "creationTime");
} catch (IOException ex) {
    // handle exception
}

creationTime的类型是FileTime,但是由于该方法返回的是Object,我们必须强制转换它

FileTime将日期值保存为时间戳属性。例如,可以使用toInstant()方法将其转换为Instant。

如果文件系统不存储文件的创建日期,则该方法将返回null。

3. Files.readAttributes

另一种获取创建日期的方法是使用Files.readAttributes,对于给定的Path,它会一次返回文件的所有基本属性

try {
    BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
    FileTime fileTime = attr.creationTime();
} catch (IOException ex) {
    // handle exception
}

该方法返回一个BasicFileAttributes,我们可以使用它来获取文件的基本属性。creationTime()方法返回文件的创建日期为FileTime。

这一次,如果文件系统不存储创建文件的日期,那么该方法将返回上次修改日期。如果上次修改日期也未存储,则将返回纪元(01.01.1970)。

4. 总结

在本教程中,我们学习了如何在Java中确定文件创建日期。具体来说,我们了解到可以使用Files.getAttribute和Files.readAttributes来做到这一点。

与往常一样,本教程的完整源代码可在GitHub上获得。

Show Disqus Comments

Post Directory

扫码关注公众号:Taketoday
发送 290992
即可立即永久解锁本站全部文章